728x90
(1) 문제
- 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.
- 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.
- 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.
(2) 입력
- 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000)
(3) 출력
- 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정확하게 N킬로그램을 만들 수 없다면 -1을 출력한다.
(4) 예제 입력 및 출력
(5) 코드
import sys
FIVE = 5
THREE = 3
sugar = int(sys.stdin.readline())
min_x = sugar // FIVE
min_y = (sugar - (FIVE * min_x)) // THREE
while True:
if min_x * FIVE + min_y * THREE == sugar:
print(min_x + min_y)
break
else:
min_x -= 1
min_y = (sugar - (FIVE * min_x)) // THREE
if min_x == -1:
print(-1)
break
(6) 실행결과
반응형
'BaekJoon Algorithm > Python' 카테고리의 다른 글
[백준알고리즘 - 4948] 베르트랑 공준 (Python) (0) | 2021.03.16 |
---|---|
[백준알고리즘 - 1011] Fly me to the Alpha Centauri (Python) (0) | 2021.03.16 |
[백준알고리즘 - 1316] 그룹 단어 체커 (Python) (0) | 2021.03.16 |
[백준알고리즘 - 1003] 피보나치 함수 (Python) (0) | 2021.03.14 |
[백준알고리즘 - 7576] 토마토 (Python) (0) | 2021.03.14 |