백준|2839번|설탕 배달

README·2022년 7월 31일
0

파이썬 PS풀이

목록 보기
17/136

문제설명
일정무게의 설탕을 3kg, 5kg 자루에 나누어담을 때 최소로 필요한 자루의 개수를 구하는 문제입니다.

작동 순서
1.설탕의 무게를 입력받습니다.
2.설탕의 무게가 5로 나누어 떨어질 경우 5kg 자루에 모두 나누어 담습니다.
3.설탕의 무게가 5보다 크고 3의 배수가 아닌 경우 5kg만 자루 하나에 담습니다.
4.설탕의 무게가 3보다 큰 경우 3kg만 자루 하나에 담습니다.
5.만약 설탕의 무게가 1,2kg만 남아서 자루 하나를 다 못 채우는 경우 -1을 출력합니다.
6.구한 자루의 개수를 출력합니다.

소스코드

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

후기
간단한 프로그램이지만 5보다 큰 6의 배수를 고려하지 않고 문제를 풀다가 처음에는 어려움이 있었습니다. 하지만 메모장에 간단한 예시들을 들어가면서 문제를 차근차근 풀어보았고 그 이후에는 문제를 잘 해결한 것 같습니다.

profile
INTP 개발자 지망생

0개의 댓글