본문 바로가기
Algorithm/문제풀이_백준

[Swift][Greedy] 백준 5585번 (거스름돈)

by Joahnee 2021. 8. 31.

요구능력 : 그리디 알고리즘

 

코드설명 : 

 

그리디알고리즘은 말그대로 탐욕 알고리즘으로 현재상황에서 지금 당장 좋은것만 고르는 방법이다.

거스름돈이 적게나오려면 가장 큰 화폐단위부터 잔돈을 거슬러주면 된다.

그렇기 때문에 if문을 가장 큰 단위인 500엔부터 가장작은 단위인 1엔까지 넣어준것이다.

 

후기 :  그리디알고리즘이라는걸 처음 공부해서 한번 풀어보고 싶어서 풀어봤다. 이전에 풀었던것들중에 그리디가 좀 있는거같은데 그리디라는걸 몰라도 풀 수 있는 느낌? 굳이 그리디를 찾아서 풀려고 안해도될거같다. 

let n = Int(readLine()!)!
var money = 1000 - n
var count = 0
while true{
    if money == 0 {
        break
    }
    
    if money >= 500 {
        money -= 500
    }else if money >= 100 {
        money -= 100
    }else if money >= 50 {
        money -= 50
    }else if money >= 10 {
        money -= 10
    }else if money >= 5 {
        money -= 5
    }else {
        money -= 1
    }
    count += 1
}
print("\(count)")

댓글