해쉬함수
-
해쉬_전화번호 목록Algorithm/programers 2022. 10. 26. 23:16
접근 방식 1. 완전 탐색 문제를 읽고 가장 먼저 생각나는 것은 완전 탐색일 것이다. 리스트의 원소 1개를 기준으로 전체를 탐색하며 접두어가 되는지 확인하는 것이다. 이 방식을 사용한다면 1) 리스트 원소 마다 2) 전체를 탐색하며 접두어가 되는지 확인 하는 과정이 필요하고 2중 Loop 으로 구현이 가능하다. 하지만, 문제의 제약조건 [phone_book의 길이는 1 이상 1,000,000 이하입니다.] 을 확인하면 이 방식은 1,000,000 x 1,000,000 의 시간이 걸리는... 관계로 제외하였다. 2. sort/Loop 2중 Loop를 1중 Loop으로 변환 할 방법을 고안하다 생각해낸 것이 정렬이다. 문제를 잘 살펴보면 결국 접두어가 된 다는 것은 앞 숫자가 뒷 숫자의 가장 큰 자리 부터 ..
-
해쉬_완주하지 못한 선수Algorithm/programers 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.upd..