곽로그
[백준 2839] 설탕배달 본문
반응형
문제
https://www.acmicpc.net/problem/2839
접근방법
최소로 나르려면 5kg을 최대로 해야한다. 그리고 남은 나머지를 3kg으로 운반할 수 있는지를 따지면 된다.
N을 5로나눈 나머지에 대해 케이스 분류를 한다.
나머지가 0인 경우 : N을 5로 나눈 몫을 출력하면 된다.
나머지가 1인경우 : 5kg을 하나 빼면 6kg이 만들어지므로 총 (N을 5로 나눈 몫 + 2)개가 된다. 이때 N을 5로 나눈 몫이 1보다 크지 않으면 6kg을 만들 수 없으므로 -1을 출력한다.
나머지가 2인경우: 5kg을 2개를 빼면 12kg이 만들어지므로 총 (N을 5로 나눈 몫 + 4) 개가 된다. 만들 수 없는 경우는 위와 같다.
나머지가 3인경우: (N을 5로 나눈 몫 + 1)
나머지가 4인경우: 5kg을 하나빼면 9kg을 만들 수 있으므로 총 (N을 5로 나눈 몫 +3)개가 된다
코드
package math;
import java.util.Scanner;
public class Sugar {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int rest = N % 5;
int numberOfFive = N/5;
switch(rest) {
case 0:
System.out.println(numberOfFive);
break;
case 1:
if(numberOfFive>=1) {
System.out.println((numberOfFive-1)+2);
}
else {
System.out.println(-1);
}
break;
case 2:
if(numberOfFive>=2) {
System.out.println((numberOfFive-2)+4);
}
else {
System.out.println(-1);
}
break;
case 3:
System.out.println(numberOfFive +1);
break;
case 4:
if(numberOfFive>=1) {
System.out.println((numberOfFive-1)+3);
}
else {
System.out.println(-1);
}
break;
}
}
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 1475] 방 번호 (0) | 2019.05.13 |
---|---|
[백준 10250] ACM호텔 (0) | 2019.05.07 |
[백준 1977] 완전제곱수 (0) | 2019.05.03 |
[백준 1193] 분수찾기 (0) | 2019.04.26 |
[백준 2292] 벌집 (0) | 2019.04.25 |
Comments