상근이가 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.
첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)
int N (첫째 줄에 입력되는 배달 해야 하는 킬로그램)
int count (상근이가 배달해야 하는 최소 개수)
for(5KG 봉투의 최대 개수가 0이 될떄까지) {
N에서 5를 뺄 수 있을 떄까지 뺀다.
count++
if(남은 무게가 3의 배수인가) {
남은 무게에서 3을 뺀다
if(남은 무게가 0이라면) {
count 출력
break;
}
(그게 아니라면 다음 continue = 5KG의 최대 개수 -1하고 다시 반복 -> 위에 4번)
}
}
return -1;
import java.util.Scanner;
public class BOJ2839 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
sc.close();
int fiveBags = N/5; // N = 18 -> 3
for(int minBags = fiveBags; minBags >=0; minBags--){
int remaining = N - (minBags * 5);
if(remaining % 3 ==0) {
int threeBags = remaining / 3; // remaining = 3 -> 1
System.out.println(minBags + threeBags);
System.exit(0);
}
}
System.out.println(-1);
}
}