smooth waters run deep

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문 내용

 

 

'1d-1c > BOJ' 카테고리의 다른 글

2869_달팽이는 올라가고 싶다 (JAVA)  (0) 2020.10.18
1193_분수 찾기 (JAVA)  (0) 2020.10.18
1712_손익분기점 (JAVA)  (0) 2020.10.04
2798_블랙잭 (JAVA)  (0) 2020.10.03
11729_하노이 탑 이동 순서 (JAVA)  (0) 2020.10.02