본문 바로가기

코딩 테스트/백준 파이썬 문제 풀이

[백준 2839번 파이썬] 설탕 배달

https://www.acmicpc.net/problem/2839

 

이번 문제는 입력받은 수만큼의 설탕을 3킬로그램/5킬로그램 봉지들을 이용해 담고

그것을 배달할 때 덜 번거롭기 위해

봉지를 최소한의 개수로 나누어 출력하는 것이 목적이다

물론 3이나 5 봉지들로 나누어 떨어지지 않는다면 -1을 출력한다

 

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

 

최소한의 봉지 개수로 나누기 위해서는 5킬로그램 봉지에 전부 넣을 수 있는

5의 배수가 될 때까지 3을 빼주는 방법이 있다

그러나 계속 3을 빼줬음에도 5의 배수가 되지 않고 결국 음수가 되어버린다면

-1을 출력해주는 코드를 작성하면 된다