728x90
난이도 : Lv. 3
풀이일 : 2412275
https://school.programmers.co.kr/learn/courses/30/lessons/12907
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
아이디어
- 각 동전에 대해 해당 동전의 가격부터 궁금한 금액까지 해당 동전으로 만들 수 있는 개수 추가
코드
class Solution {
public int solution(int n, int[] money) {
int answer = 0;
int[] dp = new int[n + 1];
dp[0] = 1;
for (int coin : money) {
for (int i = coin; i < n + 1; i++) {
dp[i] += dp[i - coin];
}
}
answer = (int) dp[n] % 1000000007;
return answer;
}
}
- dp 배열은 구해야할 수까지 생성하기 위해 n+1
- 0원을 만들 수 있는 경우의 수 1 기록
- 각 동전에 대해 반복하며 해당 동전부터 n값까지 동전을 사용해 만들 수 있는 개수 기록
- 답이 너무 커질 경우 처리를 위해 문제 요구사항 수로 나누어 answer 기록 및 반환
제출 결과
'알고리즘 > Lv. 3' 카테고리의 다른 글
프로그래머스 17678 셔틀버스 파이썬 풀이 (0) | 2025.01.20 |
---|---|
프로그래머스 12927 야근 지수 파이썬 풀이 (0) | 2025.01.20 |
프로그래머스 12907 거스름돈 자바스크립트 풀이 (0) | 2024.12.27 |
프로그래머스 12907 거스름돈 파이썬 풀이 (1) | 2024.12.27 |
프로그래머스 87694 아이템 줍기 자바 풀이 (0) | 2024.12.18 |