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 ) } }
}
'Algorithm > programmers' 카테고리의 다른 글
프로그래머스 - 369게임 feat. Regex 지원안될 때 정규표현식 (1) | 2024.09.07 |
---|---|
프로그래머스 - 둘만의 암호 feat. 아스키코드 사용 (0) | 2024.09.07 |
프로그래머스 - 달리기 경주 (0) | 2024.09.06 |
프로그래머스 - 덧칠하기 (0) | 2024.09.06 |
프로그래머스 - 등수 매기기 (0) | 2024.09.05 |