한 걸음씩 기록하며

[백준] 2839번 설탕배달 본문

알고리즘 & 코딩테스트

[백준] 2839번 설탕배달

Haksae 2022. 3. 2. 11:25

⛏ 문제 파악

  • 최소한의 설탕 봉지를 배달하기 위해서는, 5kg 봉지를 최대한 많이 사용해야한다.
  • N이 5로 나눠지지 않고, 3으로만 나눠지는 경우를 넣어야한다.
  • 3을 빼면서 5로 나눠지는 조건을 걸면 문제 해결이 가능해보인다.

👉🏻  답안

sugar = int(input())

bag = 0

while sugar >= 0:
    if sugar % 5 == 0:
        bag += sugar // 5
        print(bag)
        break
    sugar -= 3
    bag += 1
else :
    print(-1)

📑  간단한 설명

  • 남은 설탕을 기준으로 while을 돌렸다.
  • 설탕이 5로 나누어지지 않는다면, 3kg을 뺐고, 5로 나눠지면 바로 나누어 break로 계산
  • 남은 설탕이 음수가 되면 -1로 리턴
Comments