ํ์์ ๋์ ๋๋ฆฌ๋ฅผ ์ด์ฉํ๋ฉด์ ๋ฐธ๋ฅ๊ฐ์ผ๋ก ํค๊ฐ์ ์์๋๋ก ์ ๋ ฌํด์ผ ํ ๋๊ฐ ์ ๋ง ๋ง์์ต๋๋ค.
๊ทธ๋์ ์ด์ฌํ ๊ตฌ๊ธ๋ง ํด๋ณธ ๊ฒฐ๊ณผ ๋ฐฉ๋ฒ์ ์ฐพ๊ฒ๋์ด ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ๋์ ๋๋ฆฌ ์์ ๊ฐ์ [์ํ์ด๋ฆ:ํ์ ]๋ก ๋ง๋ค์ด ์ฃผ๊ณ ํ์ ์์ผ๋ก ์ํ๋ฅผ ์ ๋ ฌํ๋๋ก ํ๊ฒ ์ต๋๋ค.
์ํ๋
์งฑ๊ตฌ๋๋ชป๋ง๋ ค,๋ค๋ง์ ์์๊ตฌํ์์,๊ฐ์ฒ ๋น2,์ค์ผ์ด๋ง๋ด,๋์์๋ ์๋ ์ด๋ ๊ฒ 5๊ฐ์ง๋ก ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ๊ณ
=> let movies = ["์งฑ๊ตฌ๋๋ชป๋ง๋ ค","๋ค๋ง์ ์์๊ตฌํ์์","๊ฐ์ฒ ๋น2","์ค์ผ์ด๋ง๋ด","๋์์๋ ์๋"]
ํ์ ์
๊ฐ๊ฐ 9.40,8.62,8.04,8.18,9.30 8์ 25์ผ ๊ธฐ์ค ๋ค์ด๋ฒ ํ์ ์ผ๋ก ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ๊ฒ ์ต๋๋ค.
=> let rates = [9.40,8.62,8.04,8.18,9.30]
์ํ๋ฅผ ํค๊ฐ์ผ๋ก ํ์ ์ ๋ฐธ๋ฅ๊ฐ์ผ๋ก ํด์ ๋์ ๋๋ฆฌ๋ฅผ ๋ง๋ค์ด ์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
=> var dictionary = [String:Double]()
for i in 0..<movies.count {
dictionary[movies[i]] = rates[i]
}
๋ฐธ๋ฅ๊ฐ์ด ํฐ ์์๋๋ก ๋์ ๋๋ฆฌ์์ ๊ฐ๋ค์ ์ ๋ ฌํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
=> let sortedDitionary = dictionary.sorted { $0.1 > $1.1 }
๋ง์ง๋ง์ผ๋ก ์ ๋ ฌ๋ ๋์ ๋๋ฆฌ์์ ํค๊ฐ์ ์์๋๋ก ์ถ๋ ฅํด์ฃผ๋๋ก ํ๊ฒ ์ต๋๋ค.
=> for i in 0..<sortedDitionary.count {
print("\(i+1).\(sortedDitionary[i].key)")
}
์๋์ ๊ฐ์ด ํ์ ์์๋๋ก ์ํ์ด๋ฆ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ ์ฒด ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import Foundation
let movies = ["์งฑ๊ตฌ๋๋ชป๋ง๋ ค","๋ค๋ง์
์์๊ตฌํ์์","๊ฐ์ฒ ๋น2","์ค์ผ์ด๋ง๋ด","๋์์๋
์๋"]
let rates = [9.40,8.62,8.04,8.18,9.30]
var dictionary = [String:Double]()
for i in 0..<movies.count {
dictionary[movies[i]] = rates[i]
}
let sortedDitionary = dictionary.sorted { $0.1 > $1.1 }
for i in 0..<sortedDitionary.count {
print("\(i+1).\(sortedDitionary[i].key)")
}
|
'๐ Language > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] toggle์ ์ด์ฉํ์ฌ Bool๊ฐ ์ฝ๊ฒ ๋ฐ๊พธ๊ธฐ (0) | 2020.11.13 |
---|---|
[RxSwift] RxSwift๋ฅผ ํด์ผํ๋ ์ด์ (0) | 2020.09.03 |
[Swift] Set์งํฉ์ index์์น ์์๋ด๊ธฐ (0) | 2020.05.13 |
Swift indices,compactMap,contentsOf (0) | 2020.04.04 |
[Swift] ๋ฌธ์์ด ๋ด๊ฐ ์ํ๋๋งํผ ์๋ฅด๊ธฐ (0) | 2020.01.19 |
๋๊ธ