[프로그래머스] 완주하지 못한 선수
1트
def solution(participant, completion):
answer = ''
for p in participant:
if p not in completion:
answer = p
break
return answer
결과는 30/100
효율성 에서 0점, 구현에서 30점
우선 구현에서 같은 명단이 있을때
if p not in completion
여기서 판단을 못해준다.
2트
해시유형의 문제는 딕셔너리등 내부가 해시 구조인 자료형을 활용 하는 것
hashlib을 써서 구현해야 하나 고민했는데 그냥 딕셔너리 내부가 해시로 동작한다는 것만 기억하면 되는 쉬운 문제였음
그래서 dictionary에 이름을 key값으로 두고, +1 -1만 하면서 구현하는 문제였음
그리고 남은 값 하나를 반환해서 출력하면 끝
def solution(participant, completion):
answer = ''
hash_table_p = dict()
for p in participant:
if p in hash_table_p:
hash_table_p[p] += 1
else:
hash_table_p[p] = 1
for c in completion:
if c in hash_table_p:
hash_table_p[c] -= 1
if hash_table_p[c] == 0:
hash_table_p.pop(c)
answer = list(hash_table_p.keys())
return answer[0]