개발/algorithm
[백준 2839번] 설탕 배달 - python
zzi_on2
2022. 2. 12. 16:14
문제 링크
https://www.acmicpc.net/problem/2839
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
풀이
- 그리디 문제
- 5킬로그램 봉지수가 더 많을 수록 봉지수가 줄어든다.
- 5킬로그램 봉지수를 점점 늘려가면서 5킬로그램 봉지에 담고 남은 양이 3의 배수이면 answer에 봉지수를 갱신해준다.
n = int(input())
answer = 0
# 5개의 봉투 수를 계속 늘려가면서 가능한 값 구하기
for i in range(n // 5+1):
tmp = n - i * 5
if tmp % 3 == 0 :
answer = i + tmp // 3
if not answer :
print(-1)
else:
print(answer)
- 과거에 해당 문제를 푼 적이 있었는데 과거 풀이는 아래와 같다
- 5의 배수가 될 때까지 3을 반복해서 빼주고 빼줄 때마다 봉지수 + 1, 5의 배수가 되면 필요한 봉지수를 더하고 출력
n = int(input())
count = 0
while(n >= 0):
if(n % 5 == 0 ):
count += n //5
print(count)
break
n -= 3
count += 1
else :
print(-1)