Programming/python

백준 2839 : 설탕배달

kevin_01 2023. 1. 9. 23:33
728x90

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

 

2839번: 설탕 배달

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

www.acmicpc.net

1. 코드 설명 

3kg, 5kg으로 설탕봉투 수를 세는데 최대한 적게 봉투를 가져가야한다. 필요한 무게를 입력받고 최소필요 봉투 개수를 출력한다.

 

2. 예 : 18kg의 경우 3kg 6개 보다 5kg 3개 + 3kg 1개 해서 4봉투를 가져가는 방법을 추구

 

3. 풀이 코드

# 2839 : 설탕배달

s = int(input())

if s%5==0:
    print(s//5)
else:
    p=0
    while s>0:
        if s<3:
            print(-1)
            break
        s-=3
        p+=1
        if s % 5 == 0:
            p += s//5
            print(p)
            break 
        elif s == 1 or s == 2:
            print(-1)
            break
        elif s == 0:
            print(p)
            break
  • 필요한 설탕을 입력받고 5의 나머지가 0이라면 5로 나눈값 출력
  • 입력값이 3보다 작다면 -1 출력
  • 3씩 빼면서 5로 나눠지나 확인
  • 3으로도 나눠지지 않는다면 -1 출력
  • 3으로 나눠 지면 나눠진 몫 출력
728x90