자바로 백준 2839 풀기

hong030·2023년 5월 11일
0
  • 실버 4단계 문제

풀이)

입력받은 Nkg의 설탕을 5kg, 3kg 가방에 나눠담을 때 최소한의 가방을 써서 나누려면 몇개의 가방이 필요한가?

그리드 방식을 통해 풀었다. 5kg 가방의 개수는 최대 N/5, 최소 0개이므로 for 문을 통해 필요한 가방의 개수를 구하였다.

내 코드)

import java.io.*;

public class Main {
	public static void main(String[]args) throws IOException{
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(bf.readLine());
		int five = N/5;
		int three = 0;
		
		for(int i=five;i>=0;i--) {
			//System.out.printf("%d, %d\n", i, three);

			if(N == 5*i) {
				System.out.println(i);
				return;
			}
			three = (N-i*5)/3;

			if(N==(i*5 + three*3)) {
				System.out.println(i+three);
				return;
			}
			
		}			
		
		System.out.println(-1);
		return;
		
	}
}

profile
자바 주력, 프론트 공부 중인 초보 개발자. / https://github.com/hongjaewonP

0개의 댓글