파이썬/Algorithms
백준(BAEKJOON) 2839 설탕배달 - 파이썬(python)
hanshow113
2021. 9. 8. 16:40


그리디 알고리즘이므로 가장 큰 수인 5로 설탕의 무게인 n을 나눠서 바로 나누어지면 나눈 몫을 프린트하고 문제 종료
그렇지 않으면 작은 수인 3을 빼고 다시 위의 나누는 작업 반복
나누어지지 않아서 while문이 다시 수행되기 이전에 종료 조건을 넣어줌
- n이 0이 되면 종료
- n이 0보다 가장 작은 수인 3보다 작으면 나누어떨어지지 않으므로 종료
제출 코드:
n = int(input())
cnt = 0
while True:
if n % 5 == 0:
cnt += n // 5
print(cnt)
break
n -= 3
cnt += 1
if n == 0:
print(cnt)
break
if n < 3:
print(-1)
break