Algorithm/programers
해쉬_완주하지 못한 선수
casylm
2022. 10. 26. 22:39
시도_1
def solution(participant, completion):
answer = ''
# 주의: 참가자 중에는 동명이인이 있을 수 있습니다.
for p in completion:
if p in participant:
participant[participant.index(p)] = '0'
for z in participant:
if z != '0':
answer = z
break
return answer
시도2
#풀이2_dic 이용
# get(i,x) => i 없으면 x return
def solution(participant, completion):
answer = ''
d = {}
# 참가자들을 삽입
for p in participant:
if p not in d.keys():
d.update({p:1})
else:
d[p] +=1
# 완료한 참가자 제거
for p in completion:
d[p] -=1
# dic에 0이 아닌 참가자는 동명이인이거나 완료 못함
for k,v in d.items():
if v != 0:
answer = k
break
return answer
해쉬 개념을 사용하면 효율성 테스트 통과가 가능하다 => dic 활용