BAEKJOON #2839) 설탕 배달 (python)

    반응형

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

     

    2839번: 설탕 배달

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

    www.acmicpc.net

    예제 입력 예제 출력
    18 4
    4 -1
    6 2
    9 3
    11 3

     

    ((처음에는 생각했던 풀이는,

    최대한 적은 봉지를 가져가려면 5kg로 최대한 많이 가져가야 하므로, 5kg로 나눌 수 있을 때까지 나누고 3kg로 나눠야 한다고 생각했다.

    그래서, 5로 나누고 그 나머지를 다시 3으로 나눈다. 이때, 나누어 떨어지면 바로 나눈 횟수를 출력하고, 나누어 떨어지지 않으면 n에서 5를 빼고 다시 과정을 반복한다. ))

     

    하지만, 5로 먼저 나누는게 봉지 객수를 최소한으로 하기 때문에 5로 나누어 떨어질 때 바로 출력하고, 나누어 떨어지지 않으면 3을 한번씩 빼고 다시 5로 나누는 것이 최소의 봉지 개수를 보장한다.

    n = int(input())
    result = 0
    
    while True:
        if n % 5 == 0:
            result += (n // 5)
            print(result)
            break
            
        n -= 3
        result += 1
        
        if n < 0:
            print(-1)
            break

     

    반응형

    'Algorithm > BOJ' 카테고리의 다른 글

    BAEKJOON #11047) 동전 0 (python)  (0) 2021.09.04
    BAEKJOON #11399) ATM (python)  (0) 2021.09.01
    BAEKJOON #1966) 프린터 큐  (0) 2021.06.14
    BAEKJOON #1874) 스택수열  (0) 2021.06.11
    BAEKJOON #2798) 블랙잭  (0) 2021.06.10

    댓글