Q. 최적의 해는 무엇인가요?
Q. 단순히 매 상황에서 가장 큰 값만 고른다면 어떻게 될까요?
문제
조건
아이디어
풀이
화폐 단위 | 500 | 100 | 50 | 10 |
---|---|---|---|---|
손님이 받은 개수 | 0 | 0 | 0 | 0 |
step1. 남은 돈 : 260원
500원짜리로 최대 1,000원 즉, 500원 2개까지 가능
화폐 단위 | 500 | 100 | 50 | 10 |
---|---|---|---|---|
손님이 받은 개수 | 2 | 0 | 0 | 0 |
step2. 남은 돈 : 60원
100원짜리로 최대 200원 즉, 100원 2개까지 가능
화폐 단위 | 500 | 100 | 50 | 10 |
---|---|---|---|---|
손님이 받은 개수 | 2 | 2 | 0 | 0 |
step3. 남은 돈 : 10원
50원짜리로 최대 50원 즉, 50원 1개까지 가능
화폐 단위 | 500 | 100 | 50 | 10 |
---|---|---|---|---|
손님이 받은 개수 | 2 | 2 | 1 | 0 |
step4. 남은 돈 : 0원
10원짜리로 최대 10원 즉, 10원 1개까지 가능
화폐 단위 | 500 | 100 | 50 | 10 |
---|---|---|---|---|
손님이 받은 개수 | 2 | 2 | 1 | 1 |
결과 : 2 + 2 + 1 + 1 = 6개
public class Main {
public static void main(String[] args){
int n = 1260;
int cnt = 0;
int[] coinTypes = {500, 100, 50, 10};
for(int i=0; i<4; i++){
int coin = coinTypes[i];
cnt += n / coin;
n %= coin;
}
System.out.println(cnt);
}
}