출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

1주일전에 시도를 했다가 못 푼 문제였다. 1주일이 지난 지금 다시 풀어보았다:

import sys

N = int(sys.stdin.readline())

Q_5 = N//5
Q_3 = N//3

possible_list = []

for i in reversed(range(Q_5+1)):
    for j in range(Q_3+1):
        if i*5 + j*3 == N:
            possible_list.append(i+j)

if len(possible_list) == 0:
    print(-1)
else:
    print(min(possible_list))


N을 5와 3으로 나눈 몫을 각각 저장해주고, 5는 큰 수부터, 3은 작은 수부터 차례대로 확인해주는 작업으로 코드를 짰다. 5부터 확인하는 이유는 5가 크다면 필요한 설탕 봉지의 개수가 더 줄어들 것이기 때문이다.