알고리즘

백준 1181번 문제 풀이

kimhyeji 2025. 4. 17. 02:10
// 입력받은 단어의 개수를 정수형으로 변환하여 n에 저장합니다.
let n = Int(readLine()!)!

// 중복 제거를 위해 Set 타입을 사용합니다.
var words = Set<String>()

// n번만큼 반복하여 단어를 입력 받고 Set에 추가합니다.
for _ in 0..<n {
    if let line = readLine() {
        words.insert(line)
    }
}

// 단어들을 길이의 오름차순, 그리고 길이가 같으면 사전순으로 정렬합니다.
let sortedWords = words.sorted {
    if $0.count == $1.count {
        return $0 < $1
    }
    return $0.count < $1.count
}

// 정렬된 결과를 한 줄씩 출력합니다.
for word in sortedWords {
    print(word)
}
반응형

'알고리즘' 카테고리의 다른 글

백준 25325번 문제 풀이  (0) 2025.04.21
백준 29723번 문제 풀이  (0) 2025.04.18
백준 25757번 문제 풀이  (0) 2025.04.16
leetcode 187. Repeated DNA Sequences  (0) 2025.04.15
백준 2358번 평행선 문제 풀이  (0) 2025.04.14