haju__log

[python][백준/BOJ] 2839번 : 설탕 배달 본문

BOJ_백준/그리디

[python][백준/BOJ] 2839번 : 설탕 배달

haju 2023. 9. 7. 09:30
반응형

https://www.acmicpc.net/problem/2839

 

2839번: 설탕 배달

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

www.acmicpc.net

 

✅ 문제 풀이

  • 조건문 분기를 어떻게 해줄지 고민을 꽤 한 문제이다. 
  • 일단 5의 배수이면 바로 n//5의 값을 result에 저장한 후 while문 종료한다. 
  • 5의 배수가 아니면 3을 계속해서 줄여나가면서 0이 될 때까지 반복한다. (3을 빼주면 result값을 하나씩 증가해줘야함, 설탕 3kg짜리를 하나씩 배달하는 경우이므로)
  • 마지막 조건에 걸리는 게 그냥 여기서 코드를 마무리하면 예제로 4가 들어올 경우 2가 출력된다. 
  • n이 0으로 딱 맞아 떨어져야하는데, n값이 -1로 끝나므로 마지막 조건을 추가해줬다. 
  • while문을 다 돌고나서 n이 값이 0으로 끝나지 않았다면 -1을 출력하게 조건을 주었다.
import sys
n=int(sys.stdin.readline())
result=0

while n>=0:
    if n%5==0:
        result+=n//5
        break
    n-=3
    result+=1

if n<0 :
    print(-1)
else:
    print(result)
반응형

'BOJ_백준 > 그리디' 카테고리의 다른 글

[python][백준/BOJ] 4796번 : 캠핑  (0) 2023.10.01
[python][백준/BOJ] 11399번 : ATM  (0) 2023.09.06