반응형
문제
풀이
package greedy;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
//거스름돈
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int money = 1000 - Integer.parseInt(br.readLine());//지불할 돈
int answer = 0;//잔돈의 매수
int[] arr = {500, 100, 50, 10, 5, 1};
for(int en : arr) {
if(money >= en) {
answer += money / en;
money %= en;
}
}
System.out.println(answer);
br.close();
}
}
팁
- 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 문제이다.
=> 지불할 돈을 다음과 같이 설정한다.
int money = 1000 - Integer.parseInt(br.readLine());//지불할 돈
- 지불할 돈 >= 잔돈의 단위이면, 나눌 수 있을만큼 거슬러주고, 나머지는 다시 money에 저장하여 비교한다.
for(int en : arr) {
if(money >= en) {
answer += money / en;
money %= en;
}
}
출처
반응형
'알고리즘 > Java' 카테고리의 다른 글
[백준] 4153.직각삼각형(Java8) (0) | 2021.10.19 |
---|---|
[백준] 15829.Hashing(Java8) (0) | 2021.10.18 |
[백준] 10773.제로(Java8) (0) | 2021.10.16 |
[백준] 1476.날짜 계산(Java8) (0) | 2021.10.13 |
[백준] 7568.덩치(Java8) (0) | 2021.10.12 |