728x90
반응형
[백준 2839] 설탕 배달 (Java)
출처 : 링크
구현 문제다.
5kg 봉지와 3kg 봉지로 최소 봉지 수를 구해야 한다.
가장 최소가 될 수 있는 수는 5kg로 모두 가능할 때이므로 먼저 체크했다.
그 다음 미리 3kg로 나눠지는 봉지 수도 체크하고 값을 저장시켜 놓았다.
이제 N 값에서 5씩 감소시키면서 3으로 나누어지는지 while문을 통해 진행하면 끝
N이 5보다 작아질 때까지 돌면서 처음값과 갱신된 최소값이 답이고, 변화가 없었으면 -1 출력한다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import java.io.BufferedReader; import java.io.InputStreamReader; public class Main_2839_설탕배달 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int min = Integer.MAX_VALUE; int cnt = 0; if (N % 5 == 0) { // 5킬로 봉지만으로 모두 가능하면 cnt = N / 5; if (min > cnt) min = cnt; System.out.println(cnt); System.exit(0); // 무조건 최소니까 끝냄 } if (N % 3 == 0) { // 3킬로 봉지만으로 모두 가능하면 cnt = N / 3; if (min > cnt) min = cnt; } cnt = 0; while (N > 5) { // 5를 빼주면서 3과 나눠지는지 확인 cnt++; //5봉지 수 추가 N -= 5; if (N % 3 == 0) { // 3과 나눠주면 개수 체크 int res = cnt + N / 3; if (min > res) min = res; } } if (min == Integer.MAX_VALUE) // min값 변화 없으면 -1 min = -1; System.out.println(min); } } | cs |
728x90
반응형
'Algorithm > 백준(BOJ)' 카테고리의 다른 글
[백준 14502] 연구소 (Java) (2) | 2019.03.25 |
---|---|
[백준 16234] 인구 이동 (Java) (0) | 2019.03.25 |
[백준 2470] 두 용액 (Java) (0) | 2019.03.24 |
[백준 2004] 조합 0의 개수 (Java) (0) | 2019.03.23 |
[백준 2503] 숫자 야구 (Java) (0) | 2019.03.23 |