import Foundation

func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] {
    var dic: [String:Int] = [:]
    
    for (index,name) in name.enumerated() {
        dic[name] = yearning[index]
    }
    
    var result: [Int] = []
    
    for i in photo {
        var sum = 0
        for j in i {
            if let value = dic[j] {
                sum += value
            }
        }
        result.append(sum)
    }
    return result
}

 

간단하게 만들면 다음과 같습니다.

func solution(_ name:[String], _ yearning:[Int], _ photo:[[String]]) -> [Int] {
    let dic: [String: Int] = Dictionary(uniqueKeysWithValues: zip(name, yearning))
    return photo.map { $0.reduce(0) { $0 + (dic[$1] ?? 0 ) } }
}

 

ytw_developer