이것이 취업을 위한 코딩 테스트다. 그리디 [거스름돈]

GoshK·2022년 1월 24일
0

이것이 취업을 위한 코딩 테스트다. with 파이썬 - 나동빈

나의 풀이

public class Change {
    public static void main(String[] args) throws IOException {
        int[] money = new int[]{500, 100, 50, 10};
        int answer = 0;

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        Integer N = Integer.valueOf(br.readLine());

        for(Integer i : money) {
            answer += N / i;
            N = N % i;
        }

        System.out.println(answer);
    }
}
  • int[] money = new int[]{500, 100, 50, 10};
    • money - 동전의 최소갯수를 구해야 하기 때문에 동전을 큰 숫자부터 차례대로 정렬한 배열을 생성한다.
  • int answer = 0
    • 카운트를 세기위한 변수
  • BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  • Integer N = Integer.valueOf(br.readLine());
    • Scanner 보다 속도가 빠른 BufferedReader 를 사용하였고, 문자로 받기 때문에 계산을 하기위해 입력받은 값을 숫자로 변환한다.
  • for(Integer i : money) {
    answer += N / i;
    N = N % i;
    }
    • 반복문을 돌면서 해당 동전으로 거슬러 줄 수 있는 동전의 갯수를 구하여 answer 에 더해준다.
    • 동전의 갯수를 구한 후, 입력받은 값을 그만큼 빼준다.

0개의 댓글