백준 2839번 설탕 배달 - Python

devmin24·2021년 3월 18일
0

⏳ 도전! 알고리즘

목록 보기
11/32
post-custom-banner

상근이가 이번에는 설탕 배달을 한다. 하..

설탕공장에서 배달할 수 있는 설탕봉지는 3kg와 5kg 이다.
우리는 상근이가 최소한으로 봉지를 배달할 수 있게 해주어야 한다.
이 때, 정확하게 봉지를 나눌 수 없다면 -1로 출력한다.

풀이

  1. 봉지들을 담을 box 변수를 하나 만들어둔다.
  2. 필요한 설탕
  • 3의 배수인 경우 : -3씩 해주어 한봉지씩 box에 담는다.
  • 5의 배수인 경우 : /5를 하여 몫을 box에 담는다.

5Kg를 먼저 담아주어야 최소한의 봉지를 배달할 수 있다.
그래서 5로 먼저 나누어준다.
하지만 필요한 설탕이 5의 배수가 아닌 경우,
먼저 -3 (box+=1)을 해주어 5의 배수를 만들어준다.
3. 필요한 설탕이 -3을 해도 5의 배수가 아닌 경우는 -1로 출력한다.

해답

n = int(input()) 
box = 0
while n >= 0 :
    if (n%5) == 0 :
        box = box + (n//5)
        print(box)
        break
    n = n-3
    box += 1
else : 
    print(-1)

이번 문제는 비교적 쉬운 문제였다.
어려운 문제들만 풀다가 쉬운 문제를 접하니 신나게 풀 수 있었다.
아마 어려운 문제들을 접하기 전에 이 문제를 보았다면 풀 수 없었을지도 모르겠다. (그만큼 내가 많이 성장한거겠지?)

profile
꾸준함, 열정 한 가득 챙겨 끝없는 목표를 향해 달려가는 개발자👩‍💻
post-custom-banner

0개의 댓글