반응형
오늘은 자바 파일 입출력을 이해하는 시간을 가져야해서 조금 쉬운 문제로 가져왔다.
1. 5585번 거스름돈 - 문제 해석 (생각의 흐름)
가장 적게 거스름돈을 줘야하기 때문에 500엔, 100엔, 50엔, 10엔, 5엔, 1엔 순으로 큰 돈부터 줄 수 있는 수량을 계산해서 거슬러줘야한다. 때문에 나눗셈으로 거슬러줘야하는 수량을 계산하고, 나머지 연산으로 나눠주고 난 후의 돈을 계산한다.
2. 자바 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//1. 1000엔을 기본적으로 냄
int pay=1000;
Scanner sc = new Scanner(System.in);
//2. 상품 가격
int price = sc.nextInt();
//3. 500엔, 100엔, 50엔, 10엔, 5엔, 1엔 중 무조건 큰거!!!
int[] exchange_list= {500,100,50,10,5,1};
int exchange = pay-price;
int result=0;
while(exchange>0) {
for(int i=0;i<exchange_list.length;i++) {
if(price>0) {
result+=exchange/exchange_list[i];
exchange%=exchange_list[i];
}
else {
break;
}
}
}
System.out.println(result);
}
}
배열로 거스름돈을 넣고 for문으로 돌리는 식으로 풀어보았다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[브루트포스 알고리즘] 2851번 슈퍼 마리오 (0) | 2023.02.14 |
---|---|
[브루트포스 알고리즘] 2798번 블랙잭 (0) | 2023.02.14 |
[그리디 알고리즘-Java] 1541번 잃어버린 괄호 (0) | 2023.01.30 |
1026번 보물 (0) | 2022.10.21 |
1931번 회의실 배정 (0) | 2022.10.21 |