1d-1c/BOJ
2839_설탕 배달 (JAVA)
yeon_11
2020. 10. 4. 13:32
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int x = N/3;
int y = N/5;
if(!check(N, x, y))
System.out.println(-1);
}
public static boolean check(int N, int x, int y){
int ans=N;
for(int i=0; i<=x; i++){
for(int j=0; j<=y; j++){
if(3*i+5*j == N){
ans = Math.min(ans, i+j);
}
}
}
if(ans!=N) {
System.out.println(ans);
return true;
}
else return false;
}
}
[문제 풀이 생각 과정]
1. 입력받는 숫자가 5000이하로 작으므로 모든 경우를 찾는 방법으로 생각했다.
2. 예) 숫자 11일때
① 5*2 < 11 < 5*3 ② 3*3 < 11 < 3*4 로 나타낼 수 있다.
5는 0~2, 3은 0~3까지를 모두 확인하면서 11을 만든다. << check()함수의 for문 내용