dp

ims·2021년 2월 2일
0

알고리즘

목록 보기
22/23

📌 Coin

dp[i] = Math.min(dp[i],dp[i-coin[j]]+1)

🎯 output

🎯 input = coins : [1,2,5] amount = 11
🎯 output = 3

11 = 5 + 5 + 1

🔥 idea

dp[i] = Math.min(dp[i],dp[i-coin[j]]+1)

여기서 dp[i] 에 coins를 돌면서 여러 dp값이 저장되는데, 그 중의 최소값을 추출.

📌 증가한 기간의 길이

🎯 output

전의 값보다 값이 크면 +1
증가한 구간의 총 길이?

ex)
Q)   1 2 3 2 5 2 6 10 4 12
dp)  1 2 3 - 4 - 5 6  - 7

답 7

🔥 idea

증가한 값을 ( 값만 ) 저장해야 한다.

어떻게?

Arrays.fill(dp,1)

for(int i=1;i<length;i++){
	for(int j=0;j<i;j++){
    if(number[i-1]<number[i])
    	dp[i] = Math.max(dp[i],dp[j]+1)
	}
}
profile
티스토리로 이사했습니다! https://imsfromseoul.tistory.com/ + https://camel-man-ims.tistory.com/

1개의 댓글

comment-user-thumbnail
2021년 2월 2일

인프런 - CoinChange 문제

답글 달기