풀이)
입력받은 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;
}
}