코딩테스트 연습/프로그래머스

[Python - 프로그래머스] 대충 만든 자판

슈퍼짱짱 2023. 7. 7. 10:40
반응형

파이썬으로 코딩테스트 연습

 

https://school.programmers.co.kr/learn/courses/30/lessons/160586

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

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한다.

반응형