본문 바로가기
알고리즘

[Programmers] 대충 만든 자판 - Python

by saoh 2023. 3. 8.

내가 작성한 코드

def solution(keymap, targets):
    answer = []

    dic = {}

    for x in keymap:
        for i,y in enumerate(x):
            if y not in dic:
                dic[y] = i+1
            else:
                if dic[y] > i+1:
                    dic[y] = i+1

    for tar in targets:
        an = 0
        for t in tar:
            if t not in dic:
                an = -1
                break
            else:
                an += dic[t]
        answer.append(an)

    return answer

 

다른 사람이 작성한 코드에서 가져온 부분인데, keymap의 딕셔너리를 만드는 부분이 너무 깔끔해보여서 가져왔다.

dic[y] = min(i + 1, hs[y]) if y in dic else i + 1