https://school.programmers.co.kr/learn/courses/30/lessons/160586
딕셔너리에 집합을 함께 사용해서 풀어야해서 힘들었다 파이선 문법 공부를 다시해야겠다는 생각을 했다.
def capability(setkeymap,targets):
if setkeymap.intersection(set(targets)) == set(targets):
return 0
else:
return -1
def solution(keymap, targets):
answer = []
setkeymap = set()
for i in keymap:
setkeymap = setkeymap | set(i)
setkeydict = {i:101 for i in setkeymap} #딕셔너리 선언
for j in keymap:
for h,e in enumerate(j):
if setkeydict[e] > h+1:
setkeydict[e] = h+1
for j,i in enumerate(targets):
if capability(setkeymap,i) == -1:
answer.append(-1)
else:
sum = 0
for e in i:
sum += setkeydict[e]
answer.append(sum)
return answer