요구능력 : 그리디 알고리즘
코드설명 :
그리디알고리즘은 말그대로 탐욕 알고리즘으로 현재상황에서 지금 당장 좋은것만 고르는 방법이다.
거스름돈이 적게나오려면 가장 큰 화폐단위부터 잔돈을 거슬러주면 된다.
그렇기 때문에 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)")
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
[Swift][DP] 백준 10844번 (쉬운 계단 수) (0) | 2021.09.01 |
---|---|
[Swift][Qeque] 백준 10845번 (큐) (0) | 2021.08.31 |
[Swift][DP] 백준 15990번 (1, 2, 3 더하기 5) (0) | 2021.08.31 |
[Swift][DP] 백준 16194번 (카드 구매하기 2) (0) | 2021.08.31 |
[Swift][DP] 백준 11052번 (카드 구매하기) (0) | 2021.08.30 |
댓글