Game Develop

[Algorithm] Programmers :: 거스름돈 본문

Algorithm/Programmers

[Algorithm] Programmers :: 거스름돈

MaxLevel 2023. 3. 25. 02:29

https://school.programmers.co.kr/learn/courses/30/lessons/12907

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int dp[100001];
 
int solution(int n, vector<int> money) {
    int answer = 0;
 
    dp[0= 1;
 
    for (int i = 0; i < money.size(); ++i)
    {
        int inputMoney = money[i];
 
        for (int j = inputMoney; j <= n; ++j)
        {
            dp[j] = dp[j] + dp[j - inputMoney] % 1000000007;
        }
    }
 
    return dp[n];
}
cs

 

이 문제는 아직 풀지 못했다.

dp[j - inputMoney]의 정의를 제대로 해석해서 이해를 못했다. 우항의 dp[j]같은 경우는 이전 동전단위까지를 사용했을때 j를 만들 수 있는 경우의수..라고 생각하는데... 그 뒤를 풀이하지 못하겠다.

나중에 풀든, 어쩌든 일단 시간을 너무 써서 흔적만 남겨둔다.