Computer Science/자료구조
[6.19] 프로그래머스 코딩테스트 연습 - 완주하지 못한 선수(해시) (17/100)
토마토.
2021. 6. 19. 15:26
- 한 명의 선수를 제외하고 모두가 마라톤 완주함
- 참가자 배열 participant
- 완주한 배열 completion
- 완주하지 못한 사람 return하시오
- 동명이인 있을 수 있음
해시법을 어떻게 사용해야하지?
참고1 - [5.17] 03-4 해시법 복습 (재도전) (tistory.com)
[5.17] 03-4 해시법 복습 (재도전)
03-4 해시법 정렬된 배열에서 원소 추가하기 해시법 hashing - 데이터를 저장할 위치 = 인덱스를 간단한 연산으로 수행 hash table, hash function, bucket 해시 충돌 -> 체인법 : 해시값이 같은 원소를 연결 리
tomatolife.tistory.com
참고2 -
해시 : 임의의 크기를 가진 데이터를 고정된 데이터의 크기로 변환시키는 것
해시 : 탐색이나 삽입시 위치를 바로 찾을 수 있음
완주하지 못한 사람에서 해시는?
- 참가자 배열 participant
- 완주한 배열 completion
- 완주하지 못한 사람 return하시오
- 동명이인 있을 수 있음
필요한 것 : 참가자랑 완주자 사이의 비교?
def solution(participant, completion):
answer = ''
for i in participant:
#만약 이 요소가 completion에 있으면 pass해도 됨.
#없으면 answer
if i in completion:
completion.remove(i)
else:
answer = i
break
return answer
효율성 때문에 sort 이용함
def solution(participant, completion):
answer = ''
participant.sort()
completion.sort()
for i in range(0, len(participant)):
if participant[i] != completion[i]:
answer = participant[i]
break
return answer