전공/백준
14916
yha97
2022. 10. 6. 15:24
날짜 : 2022. 10. 06
사용 언어 : python
문제
코드
import sys
n = int(sys.stdin.readline()) # 거스름돈 액수
if n < 5:
for i in range(1, 3):
if n == (i * 2):
print(i)
break
else:
print(-1)
else:
i, j = 0, 0
for i in range(n // 5, -1, -1):
for j in range(0, n // 2 + 1):
if 5 * i + 2 * j == n:
print(i+j)
break
else:
continue
break
else:
print(-1)
알게된 점
- 5미만의 케이스를 고려하면서 오답이 발생했다.
- 분기를 많이하기 싫었지만 계속 틀려서 5 미만과 나머지로 분기해서 그리디로 풀었다.
참고 사이트
-