728x90
🔗 문제 링크
📁 분류
그리디
💡풀이
이 문제는 주어진 keymap을 기반으로 각 target 문자열을 입력하기 위해 최소 횟수를 계산하는 문제다.
접근 방식은 다음과 같다.
- 각 target 문자열의 문자를 순회한다.
- 문자를 keymap 에서 찾고, 해당 문자가 keymap 내에 존재하는 최소 index를 찾는다.
- 해당 문자를 찾을 수 없다면 -1을 저장하고 다음 문자열로 이동한다.
이러한 방식으로 각 target 문자열에 대해 최소 입력 횟수를 계산하고, 이를 answer 리스트에 저장한다.
💻 코드
def solution(keymap, targets):
answer = []
for target in targets:
count = 0
for t in target:
flag = False
min_value = 987654321
for i in range(len(keymap)):
if t in keymap[i]:
flag = True
min_value = min(min_value, keymap[i].index(t))
if not flag:
count = -1
break
count += min_value + 1
answer.append(count)
return answer
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 Lv 1 - 둘 만의 암호 (1) | 2023.10.02 |
---|---|
[python] 프로그래머스 Lv1 - 카드 뭉치 (0) | 2023.10.01 |
[python] 프로그래머스 Lv 1 - 덧칠하기 (1) | 2023.09.27 |
[python] 프로그래머스 Lv 1 - 바탕화면 정리 (0) | 2023.09.26 |
[python] 프로그래머스 Lv1 - 공원 산책 (0) | 2023.09.25 |