최대 1 분 소요

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

.

나의 풀이

def solution(keymaps, targets):
    answer = []
    keymap_dict = {}
    for keymap in keymaps :
        for idx, k in enumerate(keymap) :
            if k not in keymap_dict :
                keymap_dict[k] = idx + 1
            else :
                if keymap_dict[k] > idx + 1 :
                    keymap_dict[k] = idx + 1
    answer_element = 0
    for target in targets :
        for t in target :
            if t in keymap_dict :
                answer_element += keymap_dict[t]
            else :
                answer_element = -1
                break
        answer.append(answer_element)
        answer_element = 0
    return answer
  • 주어진 keymaps에서 각 알파벳들을 입력하기 위해 쳐야 하는 키의 최소 횟수를 keymap_dict에 저장한다.
  • 저장된 딕셔너리를 기반으로 targets의 각 원소의 알파벳들을 for문으로 돌려서 keymap_dict에 저장돼 있는 값들을 더해나간 뒤, result에 저장한다.

댓글남기기