X = int(input())
# 거스름돈 개수가 가장 적을 때 -> 큰 단위부터 순차적으로 나누기
result = 1000-X
cnt = 0
while result > 0:
if result // 500 != 0:
cnt += result // 500
result = result % 500
if result // 100 != 0:
cnt += result // 100
result = result % 100
if result // 50 != 0:
cnt += result // 50
result = result % 50
if result // 10 != 0:
cnt += result // 10
result = result % 10
if result // 5 != 0:
cnt += result // 5
result = result % 5
if result // 1 != 0:
result = result // 1
cnt += result
result = 0
👉 while문 안에 if가 너무 반복된다. 또, if문 안에 구조도 거의 다 비슷하다.
X = 1000 - int(input())
charge = [500, 100, 50, 10, 5, 1]
cnt = 0
for i in charge:
cnt += X // i
X %= i
print(cnt)
👉 500, 100, 50, 10, 5, 1 이렇게 if문에서 반복됐던 수를 리스트로 저장하고
그 리스트 요소를 반복하는 for문으로 간단하게 정리할 수 있다!