본문 바로가기

백준 문제풀기/JAVA

[백준 14916 JAVA 자바] 거스름돈

2원과 5원으로만
동전이 최소가 되도록 거슬러 주어야한다

 

그냥 진법 문제네요

 

근데 이제

거슬러 줄 수 없으면 -1을 출력한다

 

%를 이용합시다

 

코드입니다

import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
		Scanner scan = new Scanner(System.in);
		
		int n = scan.nextInt();
		int change = 0;
		if (n==1||n==3) {
			change = -1;
		}else if((n%5)%2 == 0) {
			change += n/5;
			change += (n%5)/2;
		}else if((n%5)%2 == 1) {
			change += (n/5)-1;
			change += (n%5 + 5)/2;
		}		
		System.out.println(change);		
	}
}

놀랍게도 1과 3 외에는

전부 거슬러 줄 수 있습니다