Resign
문제 복기
문제 접근 방식 : "선택" 관점에서 풀어본 방법
N개의 날마다 선택 O, 선택 X => 총 2^N가지 경우의 수가 있다. N의 제한은 15이고, 2^15은 38xxx이므로 경우의 수를 모두 다 구해도 된다.
상담을 하는 경우와 하지 않는 경우를 나눠서 살펴본다.
재귀함수 구현 go(day,sum) : day(=index를 의미)일이 되었다. day일에 있는 상담을 할지말지 결정해야한다. 지금까지 얻은 수익은 sum이다.
BRUTE FORCE - RECURSION 방법 적용
정답을 찾은 경우 : day == N+1 ("N+1일이 되는 날 퇴사" 문제에서 주어진대로 접근. 복잡하지 않다.)
불가능한 경우 : day > N+1
다음 경우 호출 1. 상담한다 : go(day+t[day],sum+p[day]) 2. 상담하지 않는다 : go(day+1,sum)
문제 복기 및 부족한 부분 반성
알고리즘을 체계화시키고 구체화시키면 쉽다. 바로 코드로 구현하는 게 아니라 수도코드라도 단계적으로 로직을 짚고 넘어가야 한다.
코드 구현 불가능한 경우, 정답인 경우 바로바로 return을 해주어 배열 인덱스초과 오류가 나지 않도록 한다!
Last updated