반응형
파이썬으로 코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/160586
Solution
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
def solution(keymap, targets):
t = ""
for i in targets :
t+=i
t = list(set(t))
d = dict()
for i in t :
temp = [j.index(i) for j in keymap if i in j]
if len(temp) == 0 :
d[i] = -1
else :
d[i] = min(temp) + 1
result = list()
for j in targets :
temp = [d[i] for i in j]
if -1 in temp :
result.append(-1)
else :
result.append(sum(temp))
return result
|
cs |
target에 있는 모든 문자들에 대해 자판을 최소 몇 번 눌러야하는지 dictionary 형태로 만든다.
이 때 만약 자판에 없는 문자가 있다면 value에 -1을 넣는다.
이후 target 단어를 치기 위해 눌러야하는 횟수를 모두 더해주는데, -1이 포함되어있다면 -1을 return한다.
반응형
'코딩테스트 연습 > 프로그래머스' 카테고리의 다른 글
[Python - 프로그래머스] 게임 맵 최단거리(DFS/BFS 연습) (0) | 2023.08.07 |
---|---|
[Python - 프로그래머스] 타겟 넘버 (0) | 2023.08.07 |
[Python - 프로그래머스] 혼자서 하는 틱택토 (0) | 2023.07.07 |
[Python - 프로그래머스] 달리기 경주 (2) | 2023.06.16 |
[Python - 프로그래머스] 두 원 사이의 정수 쌍 (0) | 2023.06.15 |