반응형
https://www.acmicpc.net/problem/2720
- 문제
- 문제 풀이
백준 2720번 세탁소 사장 동혁은 브론즈 3 난이도의 수학 및 그리디 문제이다. 이 문제에서는 거스름돈의 액수가 주어진다. 이때, 줘야 할 쿼터의 개수, 다임의 개수, 니켈의 개수와 페니의 개수를 구하면 된다.
이 문제에서는 거스름돈으로 주는 동전의 개수를 최소화해야 한다고 나온다. 따라서, 가장 큰 쿼터부터 가장 많이 주고, 그다음의 다임을 가장 많이 주는 식으로 한다.
예시를 한번 보겠다.
예시로 124, 즉 1.24$가 주어졌다. 우선, 쿼터 (0.25$) 는 총 4개를 줄 수 있다. 이러면 0.24$가 남는다.
0.24$에서는 다임 (0.10$) 을 2개 줄 수 있고 이러면 0.04$가 남는다.
0.04$ 중에서 니켈 (0.05$) 로 거스름돈을 줄 수 없으니 페니 4개를 준다.
따라서, 4 2 0 4가 된다.
자세한 코드는 밑에 있는 코드를 참고하면 되겠다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine()); //테스트 케이스 개수
int quarter = 25; //쿼터 0.25$
int dime = 10; //다임 0.10$
int nickel = 5; //니켈 0.05$
int penny = 1; //페니 0.01$
StringBuilder sb = new StringBuilder();
for (int i = 0; i < t; i++) {
int c = Integer.parseInt(br.readLine());
sb.append(c / quarter + " ");
c %= quarter;
sb.append(c / dime + " ");
c %= dime;
sb.append(c / nickel + " ");
c %= nickel;
sb.append(c / penny + "\n");
}
System.out.print(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 14487번 : 욱제는 효도쟁이야!! – JAVA [자바] (0) | 2022.11.18 |
---|---|
[백준] 2810번 : 컵홀더 – JAVA [자바] (0) | 2022.11.18 |
[백준] 9093번 : 단어 뒤집기 – JAVA [자바] (0) | 2022.09.17 |
[백준] 1977번 : 완전제곱수 – JAVA [자바] (0) | 2022.09.12 |
[백준] 1292번 : 쉽게 푸는 문제 – JAVA [자바] (2) | 2022.09.12 |
댓글