728x90
반응형
휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다.
import kotlin.math.min
class Solution {
fun solution(keymap: Array<String>, targets: Array<String>): IntArray {
val answer = mutableListOf<Int>()
val map = mutableMapOf<Char, Int>()
for (key in keymap) {
for ((idx, value) in key.withIndex()) {
val cnt = idx + 1
map[value] = min(map[value] ?: cnt, cnt)
}
}
for (target in targets) {
var sum = 0
for (chr in target.toList()) {
if (map[chr] == null) {
sum = -1
break
}
sum += map[chr]!!
}
answer.add(sum)
}
return answer.toIntArray()
}
}
728x90
반응형
'Kotlin > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 햄버거 만들기 - kotlin (0) | 2023.04.04 |
---|---|
[프로그래머스] 둘만의 암호 - kotlin (0) | 2023.04.04 |
[프로그래머스] 공원 산책 - kotlin (0) | 2023.04.03 |
[프로그래머스] 개인정보 수집 유효기간 - kotlin (0) | 2023.03.14 |
[프로그래머스] 바탕화면 정리 - kotlin (0) | 2023.03.12 |