Algorithm/문제
[백준 온라인 저지] 설탕 배달
Lim Seung Hyun
2022. 1. 24. 16:39
문제 출처
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
문제 요구사항
- 설탕 봉지가 3kg, 5kg짜리를 사용하여 정확하게 N킬로그램을 배달해야 한다.
- 배달을 위해 사용하는 봉지의 최소 갯수를 출력
- 조건에 제시된 설탕 봉지를 사용하여 정확하게 N킬로그램을 만들 수 없는 경우 -1을 출력
나의 코드 (python3)
# source : https://www.acmicpc.net/problem/2839
N = int(input())
answer = 0
while N >= 0: # N이 0 이상일 때까지 반복
if N % 5 == 0:
answer += N // 5
break # N이 5의 배수라면 3kg 봉지를 고려할 필요가 없기 때문에 종료
N -= 3 # 5의 배수가 아니라면 하나의 3kg 봉지에 설탕을 담는다. # 만일 N이 3보다 작으면 반복문 종료
answer += 1
if N < 0:
print(-1)
else:
print(answer)
- 5는 3의 배수가 아니므로 가장 많이 담을 수 있는 봉지순으로 문제를 해결할 수 없었다.
- 봉지를 최소 갯수를 이용해야하기 때문에 5kg 봉지를 많이 쓰는 쪽으로 컨셉을 잡고 시작
- 전체 무게가 5로 나누어 떨어진다고 하면 전체 무게를 5로 나눈 몫을 이용하면 되지만 그런게 아니라면 3kg 봉지를 하나 사용한 것으로 간주하여 전체 무게에서 3kg 무게를 빼주었다.
Github
728x90