코딩테스트 연습 기록

이종길·2022년 1월 16일
0

코딩테스트 연습

목록 보기
49/128

2022.01.16 25일차

백준 2720번 (세탁소 사장 동혁)

문제

미국으로 유학간 동혁이는 세탁소를 운영하고 있다. 동혁이는 최근에 아르바이트로 고등학생 리암을 채용했다.

동혁이는 리암에게 실망했다.

리암은 거스름돈을 주는 것을 자꾸 실수한다.

심지어 $0.5달러를 줘야하는 경우에 거스름돈으로 $5달러를 주는것이다!

어쩔수 없이 뛰어난 코딩 실력을 발휘해 리암을 도와주는 프로그램을 작성하려고 하지만, 디아블로를 하느라 코딩할 시간이 없어서 이 문제를 읽고 있는 여러분이 대신 해주어야 한다.

거스름돈의 액수가 주어지면 리암이 줘야할 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0.01)의 개수를 구하는 프로그램을 작성하시오. 거스름돈은 항상 $5.00 이하이고, 손님이 받는 동전의 개수를 최소로 하려고 한다. 예를 들어, $1.24를 거슬러 주어야 한다면, 손님은 4쿼터, 2다임, 0니켈, 4페니를 받게 된다.

나의 풀이

  1. 25, 10, 5, 1 순서대로 진행
  2. 나누기로 개수 더하기, 가격에 개수 * 값 만큼 빼기
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int N = scanner.nextInt();

        for (int i = 0; i < N; i++) {
            int price = scanner.nextInt();
            int q = 0; int d = 0; int n = 0; int p = 0;

            while (price > 0) {
             q += price / 25;
             price -= 25 * q;
             d += price / 10;
             price -= 10 * d;
             n += price / 5;
             price -= 5 * n;
             p += price / 1;
             price -= 1 * p;
            }

            System.out.printf("%d %d %d %d\n", q, d, n, p);
        }

    }
}

생각하기

profile
Go High

0개의 댓글

관련 채용 정보