Algorithm
[파이썬] 백준 2839번: 설탕 배달
bbomi
2024. 1. 3. 00:15
https://www.acmicpc.net/problem/2839
2839번: 설탕 배달
상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그
www.acmicpc.net
n = int(input())
def solution(n):
cnt = 0
while n > 0:
if n % 5 == 0:
n -= 5
cnt += 1
elif n % 3 == 0:
n -= 3
cnt += 1
elif n > 5:
n -= 5
cnt += 1
else:
if n % 5 != 0 and n % 3 != 0:
return -1
else: cnt += 1
break
return cnt
print(solution(n))
1. n > 0 케이스의 while문을 돌려줍니다.
- 첫 n이 5의 배수인 경우: n -=5, cnt += 1
- 3의 배수인 경우: n -=3, cnt +=1
- 5 또는 3의 배수가 아니고 5보다 큰 경우: n -=5, cnt +=1
- 위의 케이스에 전부 속하지 않을 경우:
- 5보다 작고, 5 또는 3의 배수가 아니면 (즉 5나 3이 아니면) -1을 출력합니다.
- 그게 아니면 cnt += 1을 해줍니다.
2. 최종적으로 n을 출력합니다.