ALGORITHM
백준 2839 설탕배달 (Java)
공부하는_다온
2023. 1. 12. 22:51
1. 문제 링크
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
2. 문제 및 입출력예제
3. 문제 풀이
일단 N이 5의 배수와 3의 배수의 합으로 이루어져 있어야 한다.
그렇다고 무턱대고 5나 3으로 빼면 최소한의 개수가 나오지 않는다.
재귀를 쓰기에는 모든 경우를 다 확인하는 방법밖에 생각나지 않았다.
처음부터 N-5를 한다면 3의 배수일 경우가 제대로 나오지 않는다.
그래서 N-3이 우선이라는 생각을 했고 코드를 작성했다.
어떻게 풀어야 하는지 감이 안 잡혀서 꽤나 오래 생각하고 여러 방법을 시도했고 맞았다!
나의 코드 작성 흐름
- 1. N이 5의 배수이면 count+N/5하고 count 출력 후 break;
- 2. 아니라면 N-3하고 count+1
- 3. 1~2의 과정을 반복
- 4. 만약 2의 과정에서 N이 음수가 된다면 -1 출력하고 break;
4. 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int count = 0;
while(true) {
if(n%5==0) {
count += n/5;
System.out.println(count);
break;
}
else {
n = n-3;
count++;
}
if(n<0) {
System.out.println("-1");
break;
}
}
}
}