알고리즘 문제풀이/백준

#5585 : 거스름돈

모항 2023. 1. 19. 18:01

풀이방법

사용된 것:

그리디

 

 

 

 

 

2023.01.19

가장 큰 금액인 500엔 잔돈부터 가장 작은 금액인 1엔 잔돈까지 순서대로 각각 주어야 하는 개수를 구하면 된다.

줘야 하는 각 잔돈의 개수, 그 잔돈을 준 후 아직 더 주어야 하는 거스름돈의 양은 나누기 연산과 나머지 연산을 통해 구할 수 있다.

 

코드

Java(2023.01.19)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner (System.in);
		
		//타로가 산 물건 가격 읽어오기
		int n = sc.nextInt();
		
		//줘야 하는 거스름돈의 값을 계산
		int sub = 1000-n;
		
		//정답을 저장할 변수
		int answer = 0;
		
		/*
		 * 가장 큰 액수의 잔돈부터 처리
		 */
		
		//500엔
		answer += sub/500;
		sub = sub%500;
		//100엔
		answer += sub/100;
		sub = sub%100;
		//50엔
		answer += sub/50;
		sub = sub%50;		
		//10엔
		answer += sub/10;
		sub = sub%10;
		//5엔
		answer += sub/5;
		sub = sub%5;
		//1엔
		answer += sub;
		
		//정답 출력
		System.out.print(answer);
		
		sc.close();

	}

}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

#10804 : 카드 역배치  (0) 2023.03.12
#2884 : 알람 시계  (0) 2023.03.08
#1049 : 기타줄  (0) 2023.01.18
#15649 : N과 M (1)  (0) 2023.01.18
#2501 : 약수 구하기  (0) 2023.01.16