https://school.programmers.co.kr/learn/courses/30/lessons/160586?language=python3
풀이 - 나의 생각
알파벳 별 최소 누르는 횟수를 미리 구한 후
정답을 구해주면 됩니다.
코드
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
'프로그래머스 > Lv.1' 카테고리의 다른 글
2022 KAKAO BLIND RECRUITMENT > 신고 결과 받기 - Python, defaultdict, set, defaultdict 없이 초기화하기 (1) | 2024.11.16 |
---|---|
다른 사람의 풀이 - Python, set, ascii_lowercase (0) | 2024.11.15 |
2020 카카오 인턴십 > 키패드 누르기, 구현, abs (0) | 2024.11.15 |
기사단원의 무기 - Python, 약수 찾기 (0) | 2024.11.14 |
공원 산책 - Python, 구현 (0) | 2024.11.14 |