입력 받은 N 킬로그램을 5킬로그램, 3킬로그램 봉지로 각각 최대 몇 개씩 배달할 수 있는지 구하는 문제이다.
5킬로그램 최대 개수와 3킬로그램 최대 개수로 제한하여 모든 조합의 경우의 수를 생각해볼 수 있다.
예를 들어 총 18킬로그램은 5킬로그램으로 최대 3개, 3킬로그램으로 최대 6개까지만 배달할 수 있다.
최소 개수로 18킬로그램을 맞추기 위해서는 5킬로그램짜리 봉지를 많이 배달하는 것이 효율적일 것이다.
5킬로그램짜리 봉지 최대 개수에서부터 최소 개수 0개까지,
3킬로그램짜리 봉지 최소 개수 0에서 최대 개수까지,
N킬로그램에 맞는 조합을 찾는다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int max5 = N/5;
int max3 = N/3;
int i, j, count=-1;
for(i=0; i<= max3 && count==-1; i++) {
for(j=max5; j>=0; j--) {
if(i*3 + j*5 == N) {
count = i+j;
break;
}
}
}
bw.write(String.valueOf(count));
bw.flush();
bw.close();
}
}
[출처]
https://www.acmicpc.net/problem/2839
'CODING > BAEKJOON' 카테고리의 다른 글
[BAEKJOON] 1259번 팰린드롬수 (0) | 2022.01.31 |
---|---|
[BAEKJOON] 1193번 분수 찾기 (0) | 2022.01.31 |
[BAEKJOON] 2941번 크로아티아 알파벳 (0) | 2022.01.30 |
[BAEKJOON] 5622번 다이얼 (0) | 2022.01.29 |
[BAEKJOON] 2908번 상수 (0) | 2022.01.28 |
댓글