백준 2839 설탕배달 파이썬
2021. 11. 3. 02:40
멍청이가 된 기분
import sys
N = int(sys.stdin.readline().rstrip())
kilo_5, kilo_3 = 0, 0
if N == 4 or N == 7:
print(-1)
elif N % 5 == 0:
print(N // 5)
else:
if N % 10 == 1 or N % 10 == 6:
kilo_3 = 2
N -= 3 * kilo_3
kilo_5 = N // 5
if N % 10 == 2 or N % 10 == 7:
kilo_3 = 4
N -= 3 * kilo_3
kilo_5 = N // 5
if N % 10 == 3 or N % 10 == 8:
kilo_3 = 1
N -= 3 * kilo_3
kilo_5 = N // 5
if N % 10 == 4 or N % 10 == 9:
kilo_3 = 3
N -= 3 * kilo_3
kilo_5 = N // 5
print(kilo_3 + kilo_5)
나도 반복문으로 풀고 싶었지만 어떻게 해야할지 몰랐다...
반복문 코드는 많으니 보고 배워야겠다.
남은 설탕의 양이 0 미만이 아닐 때,
5키로로 나눠진다면 5로 나눈 몫 만큼 가방의 수를 출력하고 멈춘다.
나눠지지 않는다면 3을 빼면서 가방의 수를 늘려간다.
즉! 5를 먼저 뺄게 아니라 5로 나눠지는건 한방에 처리하고 3씩 빼가야 했던 것이다...
'Dev > 알고리즘' 카테고리의 다른 글
1707 이분그래프 파이썬 (0) | 2021.12.14 |
---|---|
2981 검문 (0) | 2021.12.13 |
백준 10250 ACM호텔, 2775_부녀회장이 될테야 파이썬 (0) | 2021.11.03 |
백준 1193_분수찾기 파이썬 (0) | 2021.11.01 |
백준 1759 암호 만들기 파이썬 (0) | 2021.09.25 |