백준 문풀

백준 9084

조강학 2024. 11. 10. 00:45

흐흑

너무 어려웠다

경우의 수를 구하는 문제였는데, 뭔가 묘하게 이해가 될까 말까 했다.

 

현재 금액을 만들 수 있는 가짓 수를 찾는 문제인데

 

이해하기 쉽게 가정을 해본다. 

 

[동전]

번호  1     2      3      4 

금액  10   20   30   40 

 

60원을 만들기 위해서는 동전의 개수만큼 루프를 돈다

     해당 인덱스의 동전이 만들 수 있는 금액부터 최대액 까지 루프를 돈다.

           이 금액을 만들기 위한 가지수는  루프를 돌면서 [금액- 현재 동전의 가치] 만큼씩 더해준다


for(동전의 가지수 i)

     for(가능한 금액 j)

           dp[금액 j] += dp[금약 j - i 번째 동전의 개수]


 

이런 식의 루프를 형성한다.

 제일 중요하다고 생각한 부분은 dp배열은 0으로 초기화 하면서

dp[0]의 값은 1

로 주는 것이다.

이렇게 배열을 설정해주면 동전으로 나눠 떨어지는 가능한 경우의 수만을 셀 수 있게 된다.

 

'백준 문풀' 카테고리의 다른 글

백준 1987 알파벳  (0) 2025.01.13
백준 2468  (1) 2025.01.01
배낭 알고리즘  (0) 2024.11.09
백준 2656 전깃줄  (0) 2024.11.05
백준 1920 수 찾기  (0) 2024.09.30