풀이 방식: 완전 탐색
- 반복문 안쪽에 큰 봉지의 반복문을 넣어, 최소 봉지 수를 보장하도록 했다.
- 그래서 처음 값부터가 이미 5kg를 더 많이 활용하기에, 별도의 최소 값 찾는 로직 필요 없이 값을 찾자마자 반복문을 break한다.
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int small= 0;
int big = 0;
loop:
for(int s=0; s<(n/3+1); s++) {
for(int b=0; b<(n/5+1); b++){
int weight = 3*s+5*b;
if(weight == n) {
small = s;
big = b;
break loop;
}
}
}
if(small == 0 && big == 0) {
bw.write("-1");
} else {
bw.write(small + big+"");
}
bw.flush();
bw.close();
br.close();
}
}
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
int answer = -1;
for(int five = n/5; five>=0; five--) {
int remain = n - (five*5);
if(remain % 3 == 0) {
int three = remain/3;
answer = five + three;
break;
}
}
bw.write(answer+"");
bw.flush();
bw.close();
br.close();
}
}