※ 2839 설탕 배달
https://www.acmicpc.net/problem/2839


문제 해결 TIP
나올 수 있는 경우의 수는 총 4가지이다. 5로 나누어 떨어지는 경우, 3으로 나누어 떨어지는 경우, 3과 5의 조합으로 나누어 떨어지는 경우, 나누어 떨어지지 않는 경우. 처음에는 모든 경우의 수를 if else 문으로 하려 했지만, 조금 더 효율적인 방법을 생각해보았다. 우선 N을 5로 나누어보고 나누어 떨어지지 않는다면 3만큼 한번씩 뺴본 후 다시 5로 나누어보는 방법이다. 이렇게 로직을 짜면 모든 경우를 만족할 수 있게 된다.
전체 코드
N = int(input())
result = 0
while N>=0:
if N%5==0:
result += N//5
print(result)
break
N = N - 3
result += 1
else:
print(-1)
'Python > 그리디' 카테고리의 다른 글
[Algorithm] 프로그래머스 무지의 먹방 라이브 | 파이썬 (2019 KAKAO BLIND RECRUITMENT) (2) | 2024.06.24 |
---|---|
[Algorithm] 백준 1931 회의실 배정 | 파이썬 (0) | 2024.06.20 |
[Algorithm] 백준 11047 동전 0 | 파이썬 (0) | 2024.06.20 |
[Algorithm] 백준 11399 ATM | 파이썬 (0) | 2024.06.20 |
[Algorithm] Greedy(그리디) (1) | 2024.01.05 |
댓글