[ํ๋ก๊ทธ๋๋จธ์ค LV.0 _ Swift] Day25 ๐บ ์ง๋ฃ์์ ์ ํ๊ธฐ (feat. Dictionary)
๐ ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/120835
dic[i]์ ํ์ ์ด ์ต์ ๋ํ์ ์ธ Int?์ด๋ฏ๋ก ์ต์ ๋์ ๋ฒ๊ฒจ์ค์ผ ํ๋ค.
๊ฐ์ ์ถ์ถ์ด ๊ฐ๋ฅํ ์ด์ ๋ emergency์ ์์์ ๊ธธ์ด๊ฐ
1์ด์์ด๊ธฐ ๋๋ฌธ์ nil์ผ ๊ฒฝ์ฐ๊ฐ ์์ด ๋ณด์ธ๋ค.
import Foundation
func solution(_ emergency:[Int]) -> [Int] {
//์๊ธ๋๊ฐ ๋์ ์์๋๋ก ์ง๋ฃ ์์ ๋ฐฐ์ด ๋ฆฌํดํ๋ ๋ฌธ์
//๋ฐฐ์ด์ key๋ emergency ๋ฐฐ์ด์์ ์์
var dic: [Int : Int] = [:]
//value๋ ์ฐ์ ์์๋ก + count๋ก ์์ ๊ฒฐ์ (์ซ์๊ฐ ์์ ์๋ก ์ฐ์ ์์)
var count = 1
//์๊ธ๋๊ฐ ๋์ ์์๋๋ฅผ ์ ํ ๋ฐฐ์ด
var result = [Int]()
//๋ฐฐ์ด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ sorted(by: >)
for i in emergency.sorted(by: >) {
dic[i] = count //๊ฐ์ฅ ๋์ ์ซ์๊ฐ count == 1
count += 1 //๊ทธ๋ค์ ๋์ ์ซ์ count == 2 ....
}
for i in emergency {
result.append(dic[i]!)
}
return result
}