Swift/Swift Codingtest

[Swift] 백준 14425번 문자열 집합

hyunjuntyler 2023. 4. 5. 18:13

문제 링크

 

14425번: 문자열 집합

첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다.  다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어

www.acmicpc.net

문제 풀이

import Foundation

let NM = readLine()!.components(separatedBy: " ").map{Int($0)!}
var set : Set<String> = []
var n = 0

for _ in 1...NM[0] {
    set.insert(readLine()!)
}

for _ in 1...NM[1] {
    if set.contains(readLine()!) {
        n += 1
    }
        
}

print(n)

Array는 시간초과로 풀리질 않아서 Set으로 풀었다. Array보다 Set가 좀더 속도가 빠른 듯 하다.