깡뇽

[백준] 2839번 설탕 배달 파이썬 본문

Algorithm/BAEKJOON

[백준] 2839번 설탕 배달 파이썬

깡뇽 2022. 2. 18. 23:53
반응형

입력받은 수를 3과 5를 사용하여 최소한의 조합으로 만들어야 한다. 만들 수 없을 때에는 -1을 출력한다.

 

2839번 설탕 배달 풀이

#솔루션

total = int(input())
cnt = 0

while total >= 0:
  if total % 5 == 0:
    cnt += total // 5
    print(cnt)
    break
  total -= 3
  cnt += 1
else:
  print(-1)

5kg 봉지를 많이 사용해야 봉지의 개수를 최소화할 수 있다.

그러므로 전체를 5로 나눠서 나눠지면 5kg 봉지로만 설탕을 배달할 수 있다. 즉, cnt 봉지의 개수는 전체 설탕 무게를 5kg으로 나누어 얻는 몫이 된다.

그러나 5로 나눠지지 않는 경우에는 3kg 봉지를 사용해 볼 수 있음으로 3으로 뺄셈을 해준 뒤에 다시 5로 나누어지는지 확인한다.

아예 3kg과 5kg짜리 봉지로는 설탕을 나눠 담을 수 없다면 -1을 출력한다.

 

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

 

2839번: 설탕 배달

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

www.acmicpc.net

 

반응형