https://school.programmers.co.kr/learn/courses/30/lessons/160586?language=python3
풀이 - 나의 생각
요즘 파이썬이 워낙 이곳 저곳에서 사용되기도 하고
필기를 보러가니 파이썬 문제가 많이 나와 당황했습니다.
이에
파이썬으로 코테를 준비해볼까 합니다.
이번 문제는 Dictionary를 활용해서 풀었습니다.
주어진 KeyMap을 쭉 돌아서 해당 알파벳이 어떤게 최소 클릭 수 인지
미리 체크해둔 후
목표 문자열을 돌면서 더해주기만 하면 됩니다.
자바랑 다른 점들이 많아 좀 당황스럽지만
간단한 부분은 진짜 간단하네요
코드
"""
키 개수 : 1 ~ 100
똑같은 문자가 여러 자판에 있을 수 있음
작성되지 않는 문자열이 주어질 수 있음
할당된 문자열을 작성하는데 필요한 클릭 수
"""
def solution(keymap, targets):
answer = []
min_press_dict={}
for key in keymap:
for i, ch in enumerate(key):
if ch in min_press_dict:
min_press_dict[ch] = min(min_press_dict[ch], i+1)
else:
min_press_dict[ch] = i+1
for target in targets:
total = 0
for ch in target:
if ch in min_press_dict:
total += min_press_dict[ch]
else:
total = -1
break
answer.append(total)
return answer
728x90
'프로그래머스 > Lv.1' 카테고리의 다른 글
카드 뭉치 - Python, List 에서 특정 값 삭제하 (0) | 2024.10.30 |
---|---|
프로그래머스 > 옹알이(2) - Python, re.sub() (0) | 2024.10.27 |
정수 제곱근 판별 - JAVA, double과 long 비교 (0) | 2024.05.25 |
문자열 내 p와 y의 개수 - JAVA (0) | 2024.05.23 |
코딩테스트 연습 > 푸드 파이트 대회 - JAVA (문자열 뒤집기) (0) | 2024.02.24 |