https://programmers.co.kr/learn/courses/30/lessons/92334
레벨 : level1
언어 : swift
import Foundation
let id_list = ["muzi", "frodo", "apeach", "neo"]
let report = ["muzi frodo", "apeach frodo", "frodo neo", "muzi neo", "apeach muzi"]
let k = 2
func solution(_ id_list:[String], _ report:[String], _ k:Int) -> [Int] {
var idDictinary: [String: Int] = [:]
var reportedUsers: [String: [String]] = [:]
var result = [Int].init(repeating: 0, count: id_list.count)
for (index, id) in id_list.enumerated() {
idDictinary[id] = index
}
for reportString in Set(report) {
let arr = reportString.split(separator: " ").map { String($0) }
if reportedUsers[arr[1]] == nil {
reportedUsers[arr[1]] = [arr[0]]
} else {
reportedUsers[arr[1]]! += [arr[0]]
}
}
for (_, value) in reportedUsers {
if value.count >= k {
for i in value {
result[idDictinary[i]!] += 1
}
}
}
return result
}