요약
진영 씨는 듣지도 못한 사람과 보도 못한 사람을 구분하는 걸까..
듣도 못한 사람을 먼저 입력받고 바로 보도 못한 사람을 입력하면 된다. 그 후 두 집단의 교집합을 구하면 된다.
해답
교집합을 코드로 구현하다가 Set에는 교집합을 구하는 함수가 있다는 것을 알았다. Codility 문제인가 교집합을 코드로 구현해서 풀었던 거 같은데 그게 그렇게 푸는 게 아니었을지도 모르겠다.
let NM = readLine()!.split(separator: " ").map({Int(String($0))!})
let N = NM[0]
let M = NM[1]
var noHeard = Set<String>()
var noSaw = Set<String>()
for _ in 0..<N {
let temp = readLine()!
noHeard.insert(temp)
}
for _ in 0..<M {
let temp = readLine()!
noSaw.insert(temp)
}
var vertify = Set<String>()
intersection = noHeard.intersection(noSaw)
print(intersection.count)
for str in intersection.sorted() {
print("\(str)")
}
Set, insert(), intersection()을 유용하게 썼다.
'Algorithm > 백준' 카테고리의 다른 글
| [백준 스위프트] 15965번 K번째 소수 (0) | 2022.08.30 |
|---|---|
| [백준 스위프트] 1302번 베스트셀러 (0) | 2022.08.24 |
| [백준 스위프트] 9375번 패션왕 신해빈 (0) | 2022.08.24 |
| [백준 스위프트] 5525번 IOIOI (0) | 2022.08.24 |
| [백준 스위프트] 11399번 ATM (0) | 2022.07.25 |