반응형
1. Select Working Days
1.1 문제정의
- N일의 각각 Pay가 지정되어있다.
- 가장 돈을 많이 벌 수 있도록 일하는 날짜를 골라야한다.
- 연속근무는 불가하다.
2. solution
X는 그날 일을 안했을 때, 그날까지 벌 수 있는 최대의 돈이다.
O는 그날 일을 했을 때, 그날까지 벌 수 있는 최대의 돈이다.
노란색으로 색칠한 것은, 결과가 나온 후 역추척한 것이다.
3. Code
이 코드는 내용을 모르면 알아보기 쉽지 않다.
열 인덱스 0: 그 날 일을 안하는 것중에 제일 좋은 것
열 인덱스 1: 그 날 일을 하는 것중에 제일 좋은 것
배열 생성하고 첫 날 일을 할 때&안할 때의 초기값을 넣어준다.
day2부터 계산한다.
그 날 일을 안할 때 = MAX(그 전날 일 할때 , 그 전날 일 안할때)
그 날 일을 할 때 = 그 전날 일을 안했을 때 Pay + 오늘 일의 Pay
max값을 리턴한다.
2. Path counting
반응형