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가 크다면 필요한 설탕 봉지의 개수가 더 줄어들 것이기 때문이다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 2775번> 파이썬 - 부녀회장이 될테야 (0) | 2020.12.03 |
---|---|
<백준 문제풀이: 7658번> 파이썬 - 덩치 (0) | 2020.12.03 |
<백준 문제풀이: 2231번> 파이썬 - 분해합 (0) | 2020.12.02 |
<백준 문제풀이: 1316번> 파이썬 - 그룹 단어 체커 (0) | 2020.12.01 |
<백준 문제풀이: 2798번> 블랙잭 - 파이썬 (0) | 2020.12.01 |