Dev/알고리즘
백준 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씩 빼가야 했던 것이다...