archive

[백준] 설탕 배달 (Python) 본문

STUDY/알고리즘

[백준] 설탕 배달 (Python)

seonyounggg 2021. 3. 8. 21:29

✏️ 문제

 

2839번: 설탕 배달

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

www.acmicpc.net

✏️ 풀이

일단 5kg 봉지를 최대한으로 선택해야 총 개수를 줄일 수 있다.

따라서 5로 나눈 몫을 구해놓고,

그 나머지를 3짜리로 채우도록 시도한다.

만약 3으로 나눠떨어지지 않는다면 5짜리 봉지를 하나씩 빼면서 시도한다.

끝까지 3으로 나눠떨어지지 않는다면 N을 만들 수 없는 경우이므로 -1을 출력한다.

✏️ 코드

count = int(input())

big = count // 5
small = 0
rest = count - big*5
if big == 0:
    if rest % 3 != 0:
        print(-1)
    else:
        print(rest//3)
else:
    while True:
        if rest == 0:
            print(big+small)
            break
        elif rest % 3 != 0:
            if big == 0:
                print(-1)
                break
            big -= 1
            rest += 5
        elif rest % 3 == 0:
            small = rest // 3
            print(big+small)
            break

 

Comments