YunDev

백준 2839번[C] - 상세 풀이 본문

Programming/Baekjoon Program

백준 2839번[C] - 상세 풀이

S준 2024. 1. 17. 21:39

문제 : https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

#include <stdio.h>

int main() {
    int N = 0, cnt = 0;
    scanf("%d", &N);
    
     while(1) {
         if(N%5==0) {
            cnt += N/5;
             break;
         }
         
       
            N-=3;
            cnt++;
       
       
         if(N <= 0){
             break;
         }
     }
     if(N < 0) {
         printf("-1");
     }
     else{
         printf("%d", cnt);
     }
    return 0;
}

풀이 : 봉지의 수를 체크할 변수 cnt를 선언한 뒤 while문을 돌며 만약 N이 5의 배수라면 5kg 봉지를 사용하여 cnt에 더해줍니다.  그게 아니라면 계속해서 -3을 해주고 3kg 봉지를 사용해 cnt에 1씩 더해줍니다. N이 0 이하일 경우 반복문을 빠져나가게 되고,  봉지의 수를 출력하게 되는데 여기서 중요한 부분은 N이 0보다 작다면 -1을 하는 것입니다. 
N이 0보다 작다는 것은 N이 1, 2 일 때 -3을 했기 때문인데 N이 1, 2가 된다는 것은 정확하게 N킬로그램을 만들 수 없다는 것이기 때문에 -1을 출력해야 합니다.

'Programming > Baekjoon Program' 카테고리의 다른 글

백준 1978번[C] - 상세 풀이  (1) 2024.01.19
백준 2581번[C] - 상세 풀이  (0) 2024.01.18
백준 2501번[C] - 상세 풀이  (0) 2024.01.16
백준 25305번[C] - 상세 풀이  (1) 2024.01.15
백준 2587번[C] - 상세 풀이  (0) 2024.01.14