본문 바로가기
Coding Test

백준 2839 - 설탕 배달 ( Python )

by Hyeonlog 2022. 11. 17.
728x90

2839 - 설탕 배달

 

2839번: 설탕 배달

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

www.acmicpc.net

예제 풀이

1. 18인 경우
18 -> 5로 나누어 떨어지지 않음 -3 count += 1
15 -> 5로 나누어 떨어짐 15 // 5 count += 3
count 4

2. 4인 경우
나누어 떨어지는 경우가 없으므로 -1

3. 6인 경우
6 -> 5로 나누어 떨어지지 않음 -3 count +=1
3 -> 5로 나누어 떨어지지 않음 -3 count +=1
0 -> 종료
count 2

4. 9인 경우
9 -> 5로 나누어 떨어지지 않음 -3 count +=1
6 -> 5로 나누어 떨어지지 않음 -3 count +=1
3 -> 5로 나누어 떨어지지 않음 -3 count +=1
count 3

5. 11인 경우
11 -> 5로 나누어 떨어지지 않음 -3 count +=1
8 -> 5로 나누어 떨어지지 않음 -3 count +=1
5 -> 5로 나누어 떨어짐 5 // 5 count += 1

 

  1.  5로 나누어 떨어지는 경우를 제일 먼저 생각해야함
  2. 떨어지지 않는 다면 3을 마이너스

=> 1, 2번을 0보다 작을 때 까지 반복

 

n = int(input())
count = 0

while n >=0:
    if n % 5 == 0: # 5로 나누어지는 경우 
        count += n // 5
        break; # 5로 나누어떨어지는 경우 최적의 해이므로 반복문 탈출
    n -= 3 # 아니면 3을 뺌 
    count += 1
else:
    count = -1
        
print(count)
728x90
반응형