새소식

Career/Coding Test

99클럽 코테 스터디 24/99일차 TIL #대충 만든 자판(미들러)

  • -
반응형

 

문제 이해

1번 => A
2번 => B
3번 => C

1<=키 개수<=100
같은 문자가 여러번 할당, 키 하나에 같은 문자 여러번 할당
할당 안된 경우

최소 몇번 눌러야 문자열 작성 가능한지 => 완전 탐색

keymap = ["ABACD", "BCEFD"]
0번키 누르면 나오는 배열: ABACD 
1번키 누르면 나오는 배열: BCEFD
-> ABCD
(0,1), (1,1), (1,2), (0,5)  => 9
특정 문자가 특정 키에서 가장 먼저 나오는 것을 찾고 그 인덱스를 반환

없는 경우 -1 return

lst = []
keymap => dic으로 만들고
target을 돌면서 
for words in target:
    cnt = 0
    for word in words:
        word 가 있는지
        없으면 -1 return
        있으면 두 리스트 중에 인덱스 값이 가장 작은 값을 cnt +
    lst.append(cnt)

targets = ["ABCD","AABB"]

 

def solution(keymap, targets): # keymap을 딕셔너리로 만들기 key_dic = {} for i in keymap: for key in i: if key not in key_dic: key_dic[key] = i.index(key) else: key_dic[key] = min(key_dic[key], i.index(key)) # print(key_dic) result_dic = [] for target in targets: cnt = 0 for search_char in target: # print(search_char, key_dic) if search_char in key_dic: cnt += key_dic[search_char]+1 else: cnt = -1 break result_dic.append(cnt) return result_dic

 

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.