내가 작성한 코드
def solution(keymap, targets):
answer = []
dic = {}
for x in keymap:
for i,y in enumerate(x):
if y not in dic:
dic[y] = i+1
else:
if dic[y] > i+1:
dic[y] = i+1
for tar in targets:
an = 0
for t in tar:
if t not in dic:
an = -1
break
else:
an += dic[t]
answer.append(an)
return answer
다른 사람이 작성한 코드에서 가져온 부분인데, keymap의 딕셔너리를 만드는 부분이 너무 깔끔해보여서 가져왔다.
dic[y] = min(i + 1, hs[y]) if y in dic else i + 1
'알고리즘' 카테고리의 다른 글
[Programmers] 문자열 압축 - python (0) | 2022.07.01 |
---|---|
[Programmers] 숫자 문자열과 영단어 - python (0) | 2022.06.29 |
[Programmers] 로또의 최고 순위와 최저 순위 - python (0) | 2022.06.29 |
[Programmers] 신규 아이디 추천 - python (0) | 2022.06.28 |
[BOJ] 1003 피보나치 함수 - python (0) | 2022.04.29 |