https://www.acmicpc.net/problem/14501
d[N]= N일까지 일했을 때의 최대금액.
for문 안에서 day+ T[day] <= 현재날짜 의 조건에 적합하면,
ex. 4일째 경우에, 1일째 + T[1] <= 4 이라면
max( d[4], d[1]+P[1]) 처럼 최대값을 비교 후, 최대값이 d[N]이 된다.
(+) N일까지는 일 할 수 있으므로, N+1일때의 최대값을 출력해야한다.
따라서 d[N] = new int[17] 로 범위를 설정해줘야 한다.
풀이는 아래와 같다.
'Algorithm Study' 카테고리의 다른 글
[프로그래머스] 로또의 최고순위와 최저순위 (0) | 2022.05.11 |
---|---|
[프로그래머스] 신고결과 받기 / java, hashMap (0) | 2022.05.09 |
[BOJ] 2193: 이친수 / JAVA, DP (0) | 2022.05.05 |
[BOJ] 9095: 1,2,3 더하기 (0) | 2022.05.04 |
[BOJ] 11726번: 2*n 타일링 (0) | 2022.05.04 |