λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Algorithm

[Codeforces] 996A - Hit the Lottery

by 주발2 2020. 2. 20.
λ°˜μ‘ν˜•

https://codeforces.com/problemset/problem/996/A

 

Problem - 996A - Codeforces

 

codeforces.com

문제

Allen은 λ§Žμ€ λˆμ„ 가지고 μžˆλ‹€. κ·ΈλŠ” 은행에 n λ‹¬λŸ¬λ₯Ό 가지고 μžˆλ‹€. κ·ΈλŠ” λ³΄μ•ˆμƒμ˜ 이유둜 ν˜„κΈˆμœΌλ‘œ μΈμΆœν•˜κΈ°λ₯Ό μ›ν•œλ‹€.(μš°λ¦¬λŠ” 여기에 이유λ₯Ό κ³΅κ°œν•˜μ§€ μ•Šμ„ 것이닀.) λ‹¬λŸ¬ μ§€νμ˜ μ•‘μˆ˜λŠ” 1, 5, 10, 20, 100이닀. μ•¨λŸ°μ΄ μž”κΈˆμ„ μ „λΆ€ μΈμΆœν•œ ν›„ 받을 수 μžˆλŠ” μ΅œμ†Œν•œμ˜ 지폐 κ°―μˆ˜λŠ” λͺ‡κ°œμΈκ°€?

 

Note

첫 번째 μƒ˜ν”Œ μ‚¬λ‘€μ—μ„œ μ•¨λŸ°μ€ 100λ‹¬λŸ¬ 지폐, 20λ‹¬λŸ¬ 지폐, 5λ‹¬λŸ¬ μ§€νλ‘œ 이것을 μΈμΆœν•  수 μžˆλ‹€. μ•¨λŸ°μ΄ ν•œ μž₯ ν˜Ήμ€ 두 μž₯의 μ§€νλ‘œ 125λ‹¬λŸ¬λ₯Ό 받을 방법은 μ—†λ‹€.

두 번째 μƒ˜ν”Œ μ‚¬λ‘€μ—μ„œ μ•¨λŸ°μ€ 20λ‹¬λŸ¬ 지폐 2μž₯κ³Ό 1λ‹¬λŸ¬ 지폐 3μž₯을 μΈμΆœν•  수 μžˆλ‹€.

μ„Έ 번째 μƒ˜ν”Œ μ‚¬λ‘€μ—μ„œ μ•¨λŸ°μ€ 100,000λ‹¬λŸ¬ 지폐λ₯Ό μΈμΆœν•  수 μžˆλ‹€.


 

μ½”λ“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		int n = Integer.parseInt(bf.readLine());	// 좜금 κΈˆμ•‘
		int count = 0;	// μ‚¬μš©ν•  지폐 수
		int[] arr = {100, 20, 10, 5, 1};	// dollar biils
		
		for(int i=0; i<arr.length; i++) {
			count += n / arr[i];		// 각 지폐별 갯수
			n -= arr[i] * (n/arr[i]);	// λ‹€μŒ 지폐λ₯Ό κ΅¬ν•˜κΈ° μœ„ν•΄ λ‚˜λˆ”
		}
		
		System.out.println(count);
		bf.close();
	}

}

풀이

각 지폐λ₯Ό λ°°μ—΄λ‘œ μ €μž₯ν•˜κ³ , 각각의 지폐λ₯Ό μ‚¬μš©ν•  수 μžˆλŠ” 갯수λ₯Ό 카운트 ν•œλ‹€.

κ·Έ ν›„ μ‚¬μš©λœ κΈˆμ•‘λ§ŒνΌ ν˜„μž¬κΈˆμ•‘μ—μ„œ λΉΌκ³ , λ‹€μŒ 지폐λ₯Ό 카운트 ν•œλ‹€.

λ°˜μ‘ν˜•

λŒ“κΈ€