코딩코딩코딩

백준(BAEKJOON) 2839 설탕배달 - 파이썬(python) 본문

파이썬/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

 

Comments