코딩테스트 대비/단계별 코딩 테스트 준비(27일 과정)

[math1/Python] 2839번: 설탕 배달 - 효과는 굉장했다!

bluetag_boy 2022. 2. 11. 14:34
반응형
 

2839번: 설탕 배달

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그

www.acmicpc.net

 

알고리즘 분류

  • 수학
  • 다이나믹 프로그래밍
  • 그리디 알고리즘

 

 

SOLUTION

import sys

N = int(sys.stdin.readline())
ans = 0

while True:
    if N % 5 == 0: # 5로 나누어 떨어질때가 최소
        ans += N // 5
        print(ans)
        break

    if N < 0: # 정확하게 N킬로 그램으로 만들어지지 않을 시
        print(-1)
        break

    N -= 3 # 5로 나누어 떨어지지 않는다면 3kg 봉지를 하나 만든 뒤 cnt += 1
    ans += 1