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

코딩테스트 연습 > 대충 만든 자판 Pyton

by 아찌방 2024. 10. 25.

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

풀이 - 나의 생각

요즘 파이썬이 워낙 이곳 저곳에서 사용되기도 하고

 

필기를 보러가니 파이썬 문제가 많이 나와 당황했습니다.

 

이에

 

파이썬으로 코테를 준비해볼까 합니다.

 

이번 문제는 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