https://school.programmers.co.kr/learn/courses/30/lessons/160586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import Foundation
func solution(_ keymap:[String], _ targets:[String]) -> [Int] {
var dic: [String:Int] = [:]
var result = [Int]()
// dic- key:알파벳, value: index 저장
for k in keymap{
var index = 1
for word in k{
if dic[String(word)] == nil{
dic[String(word)] = index
}
else{
if dic[String(word)]! > index{
dic[String(word)] = index
}
}
index += 1
}
}
//value값을 가질 경우 인덱스 추가, 없을시 -1 추가
for word in targets{
var count = 0
var haveAlphabet = true
for alphabet in word{
if let a = dic[String(alphabet)]{
count += a
}else{
result.append(-1)
haveAlphabet = false
break
}
}
if haveAlphabet == true{
result.append(count)
}
}
return result
}
'Swift랑 친해지기 > programmers 풀기' 카테고리의 다른 글
[프로그래머스] 소수 만들기 (Swift) (0) | 2023.11.02 |
---|---|
[프로그래머스] 기사단원의 무기 (Swift) (1) | 2023.10.31 |
[프로그래머스] 뒤에 있는 큰 수 찾기 (Swift) (1) | 2023.10.12 |
[프로그래머스] 연속된 부분 수열의 합 (Swift) (1) | 2023.09.06 |
[프로그래머스] N개의 최소공배수 (Swift) (0) | 2023.09.05 |