스위프트는 딕셔너리 기본값이 초기화가 되어 있지 않아서 알고리즘 풀기에는 쉽지 않은 언어이다.
다만 프레임워크나 개발쪽에서는 nil값등이 있는 것이 나은걸 보면 익숙해져야 하는게 맞는듯.
[코드]
import Foundation
funcsolution(_keymap:[String], _targets:[String]) -> [Int] {
var answer = [Int]()
var dict = [String: Int]()
for i in keymap {
var idx =1for j in i {
dict[String(j)] =min(dict[String(j)] ??2100000000, idx)
idx +=1
}
}
for i in targets {
var temp =0for j in i {
if dict[String(j)] ==nil {
temp =-1break
}
else {
temp += dict[String(j)]!
}
}
answer.append(temp)
}
return answer
}