[BaekJoon] 2839번: 설탕 배달 (Java)
https://www.acmicpc.net/problem/2839
Solution
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
// 3kg 봉지, 5kg 봉지 -> nkg 최대한 적은 봉지
// 3 <= n <= 5000
static int solution(int n) {
// n에서 3을 뺀 값이 5의 배수일 때 (x) -> 나뭇가지가 더 많아짐
// n에서 5를 뺀 값이 5 이상일 때 (x) -> "정확하게 N 킬로그램을 만들 수 없다면 -1을 출력한다"
// n에서 3을 뺀 값이 음수일 때 (o) + 3을 계속 빼다가 5의 배수를 찾으면 나누기
int cnt = 0;
while (true) {
if (n % 5 == 0) { // n이 5의 배수일 경우
cnt += n / 5;
break;
} else { // n이 5의 배수가 아닐 경우
n -= 3;
cnt++;
}
}
// n이 3보다 작을 경우 반복문 탈출
if (n < 0) {
return -1;
}
return cnt;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
System.out.print(solution(n));
br.close();
}
}
Leave a comment