본문 바로가기
python3/백준문제풀이

[백준/python3] 2839_설탕 배달(DP, Greedy)

by MeaninGood 2022. 1. 16.

 

 

'''
# 5로 무조건 나누기
# 5로 안 나눠지면 3씩 빼주기
# 무조건 5kg 봉지를 들고가는 게 전체 봉지 수를 줄일 수 있음
# cnt 값 바꿔주기
'''



n = int(input()) # n 킬로그램 설탕 입력

cnt = 0 # 개수 0으로 초기화
while n >= 0 : # n 킬로그램이 0 이상일 경우에만 나누어줄 것임
    if n % 5 == 0 : # n을 5로 나눈 나머지가 0이면
        cnt += n // 5 # 바로 cnt에 n을 5로 나눈 정수 몫을 더해주고
        print(cnt) # 개수를 출력해줌
        break # break 무조건 있어야 함!
    
    elif n % 5 != 0 : # n%5가 0이 아니면 
        n -= 3 # n을 3씩 줄이면서 5의 배수로 맞춰줌
        # 5kg 봉지로 들고갈 수 있는 건 무조건 챙겨야 봉지 수를 줄일 수 있음 
        
        cnt += 1 # n이 3씩 줄어들 때마다 cnt를 1씩 증가시켜 줌
        # 3kg 봉지를 하나 들었다는 뜻
    
else : # while문이 수행되지 않을 때
    print(-1) # -1 출력함
    
# else의 위치는 while문과 동일해야 함
# while 문 안의 내용은 조건대로 수행하기 때문에, 조건이 안 맞을 때
# else를 출력