백준 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

BELATED ARTICLES

more