728x90
문제 (링크)
https://www.acmicpc.net/problem/14916
나의 풀이
n = int(input())
def change(n):
count = 0
while n % 5 != 0:
n -= 2
count += 1
if n < 0:
return -1
count += (n // 5)
return count
print(change(n))
바로 직전의 설탕 배달 문제와 동일한 문제로, n이 5로 나누어떨어질 때까지 2를 빼주면서 count를 1씩 추가해주고, n이 0보다 작아지면 -1을 리턴하며 함수를 끝내준다.
혹은 n에서 2씩 빼주는 과정에서 5로 나누어떨어지는 값이 된다면 (5의 배수가 된다면) 여지껏 세온 count에 n // 5 값을 더해주면 된다.
같은 방식을 통해 쉽게 풀 수 있었다.
'알고리즘 > 문제풀이' 카테고리의 다른 글
[백준] 10773번 제로 - 파이썬(Python) (0) | 2021.01.18 |
---|---|
[백준] 11399번 ATM - 파이썬(Python) (0) | 2021.01.14 |
[백준] 2839번 설탕 배달 - 파이썬(Python) (0) | 2021.01.14 |
[프로그래머스] 오픈채팅방 / Python (0) | 2020.12.06 |
[프로그래머스] 최솟값 만들기 - Python (0) | 2020.12.06 |