[백준] 5585번 : 거스름돈 (파이썬)

문제

나의 답안

n=1000-int(input())
count=0
coin=[500,100,50,10,5,1]

for i in coin:
    if n>0:
        count+=n//i
        n=n%i
    elif n==0:
        break
print(count)

큰 잔돈을 먼저 제외해주어야 한다.그리디 문제이다.

  1. 1000에서 지출할 돈을 빼준다(n)
  2. 잔돈의 개수(count), 잔돈 종류의 배열(coin)을 선언한다.
  3. 잔돈 종류에 대해 반복문을 돌린다. 만약 n이 0보다 크다면 계속 반복해준다.
  4. n//i로 잔돈의 개수를 구해주고, n=n%i로 잔돈을 제외하고 남은 돈을 초기화해준다.
  5. 만약 n이 0이라면 더이상 계산해줄 필요가 없으므로 반복문을 빠져나온다.

좋은 웹페이지 즐겨찾기