반응형
코드
n = int(input())
ans = 0
while n != 0:
if n%5 == 0:
ans += n//5
break
else:
n -= 2
if n < 0:
ans = -1
break
ans += 1
print(ans)
설명
5는 2의 배수가 아니기 때문에 큰 수인 5로 먼저 거스르고 나머지를 2로 거스르는 방법은 사용할 수 없다.
그래서 일단 주어진 수가 5의 배수이면 나눈 값을 ans 변수에 더해줬고, 만약 5의 배수가 아니면 2를 빼주고 ans를 1 증가시켰다. 근데 2를 빼준 수가 음수가 되면 이것은 거슬러 줄 수 없는 상황이므로 -1을 출력하게 했다.
반응형
'알고리즘 > 그리디' 카테고리의 다른 글
[백준][Python] 20115번 에너지 드링크 (1) | 2022.03.30 |
---|---|
[백준][Python] 11508번 2+1 세일 (0) | 2022.03.29 |
[백준][Python] 1758번 알바생 강호 (0) | 2022.03.28 |
[백준][Python] 13305번 주유소 (0) | 2022.03.25 |
[백준][Python] 1343번 폴리오미노 (0) | 2022.03.24 |
댓글