[๋ฐฑ์ค] (Swift) 20291๋ฒ - ํ์ผ ์ ๋ฆฌ (๊ตฌํ)
๐ ๋ฌธ์
https://www.acmicpc.net/problem/20291
20291๋ฒ: ํ์ผ ์ ๋ฆฌ
์น๊ตฌ๋ก๋ถํฐ ๋ ธํธ๋ถ์ ์ค๊ณ ๋ก ์ฐ ์ค๋ธ๋ฌ์ค๋ ๋ ธํธ๋ถ์ ์ผ์๋ง์ ๊ฒฝ์ ํ ์๋ฐ์ ์์๋ค. ๋ฐํํ๋ฉด์ ์จ๊ฐ ํ์ผ๋ค์ด ์ ๋ฆฌ๋ ์ ๋ ์ฑ ๊ฐ๋ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ฉด์ ๊ตฌ์์์ ์น๊ตฌ์ ๋ฉ์์ง๋ฅผ
www.acmicpc.net
๐ ๋์ ํ์ด
๋ฌธ์ ๋ ๋ญ ์ฃผ์ ์ฃผ์ ๊ธธ์ง๋ง, ํ์ฅ์๋ณ๋ก ๊ฐฏ์๋ฅผ ์ธ์ด์ฃผ๊ณ , ํ์ฅ์๋ช ์ค๋ฆ์ฐจ์์ผ๋ก ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ ๊ฐ๋จํ ๋ฌธ์ ๋ค. ๋๋ ํน์ ํ์ฅ์๋ณ๋ก ๊ฐฏ์๋ฅผ ์ธ์ด์ฃผ๋ ๋ฐฉ์์ dictionary๋ก ๊ตฌํํ๋ค.
dict์์ ๋ด๊ฐ ์ํ๋ ํ์ฅ์๋ช ์ด ์๋ค๋ฉด value์ + 1์ ํด์ฃผ์๊ณ , ์๋ค๋ฉด dict์ ์๋ก ์์ฑํด์ฃผ๋ ๋ฐฉ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ dict๋ฅผ key๊ธฐ์ค์ผ๋ก ์ ๋ ฌํด์ค๋ค, key์ value๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋!
๐ ์ ๋ต ์ฝ๋
import Foundation
let n = Int(readLine()!)!
var dict = [String:Int]()
for _ in 0..<n {
let temp = readLine()!.split(separator: ".").map{ String($0) }
if !dict.keys.contains(temp[1]) {
dict[temp[1]] = 1
} else {
dict[temp[1]]! += 1
}
}
let sortedDict = dict.sorted { $0.0 < $1.0 }
for i in 0..<sortedDict.count {
print("\(sortedDict[i].key) \(sortedDict[i].value)")
}