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

Swift) 백준 1181번 (단어 정렬)

by Joahnee 2021. 8. 23.

요구능력 : dictionary와 정렬함수를 함께 사용할 수 있느냐

 

코드설명 : 

사실 value는 쓸모가 없다. 문제에서 말한 같은 단어가 입력되면 하나만 출력하래서 dictionary에 넣어준것이다.

 

핵심코드

단어(key)의 길이가 같으면 사전순으로 오름차순 정렬

단어(key)의 길이가 다르면 길이순으로 정렬

var sortedDict = dict.sorted {
    $0.key.count == $1.key.count ? $0 < $1 : $0.key.count < $1.key.count
}

 

후기 : 딕셔너리와 sort()를 활용할 줄 알면 가벼운 문제

let n = Int(readLine()!)!
var dict =  [String : Int]()

for _ in 0..<n {
    let word = readLine()!
    dict[word, default: 0] += 1
}

var sortedDict = dict.sorted {
    $0.key.count == $1.key.count ? $0 < $1 : $0.key.count < $1.key.count
}

for i in 0..<sortedDict.count {
    print("\(sortedDict[i].key)")
}

댓글