본문 바로가기
프로그래머스/Lv.1

대충 만든 자판 -Python, defaultdict, 구현

by 아찌방 2024. 11. 15.

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/160586?language=python3

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

풀이 - 나의 생각

알파벳 별 최소 누르는 횟수를 미리 구한 후

 

정답을 구해주면 됩니다.

 

코드

 

from collections import defaultdict

def solution(keymap, targets):
    answer = []
    dit = defaultdict(lambda: float('inf'))
    for key in keymap:
        for idx, char in enumerate(key):
            dit[char] = min(dit[char], idx + 1)

    for target in targets:
        push = 0
        for char in target:
            if dit[char] == float('inf'):
                push = -1
                break
            push += dit[char]
        answer.append(push)

    return answer

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90