STUDY/Algorithm

[백준코딩_파이썬] 2893번_설탕배달

ez1n 2022. 3. 28. 05:06

[Python_설탕배달]

 


 

<STUDY>

 

📢 문제 📢

 

봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.

상근이는 최대한 적은 봉지를 들고 가려고 한다.

상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.

 

❗아이디어

 

   - 최대의 5kg 봉지의 갯수를 먼저 구한 뒤 3kg 봉지의 갯수를 구한다.

 

import sys

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

li = []
for i in range(N // 5  + 1):
    if (N - 5 * i) % 3 == 0:
        li.append(i)

if len(li) == 0:
    print(-1)
else:
    f = max(li)
    t = (N - 5 * f) // 3
    print(f + t)

 

   - N을 5로 나눈 몫이 5kg 봉지의 최대 갯수이므로 0부터 차례로 5를 곱한뒤 N에서 뺀다.

   - 이때 3으로 나눈 나머지가 0이 나온 경우만 정확히 Nkg을 맞출 수 있으므로 그 경우만 i(5kg 봉지의 갯수)를 리스트에 추가한다.

   - 5kg 봉지가 가장 많아야 하므로 리스트에서 가장 큰 값을 선택한 후 5를 곱하고 N에서 빼면 3kg 봉지의 갯수가 나온다.

 


 

🔆백준 코딩 2893번🔆

 

👉ez1n github 구경하기👈

 

 

 

ez1n - Overview

Study -ing. ez1n has 6 repositories available. Follow their code on GitHub.

github.com