반응형
언어 : Python
Link : https://programmers.co.kr/learn/courses/30/lessons/42576
풀이 :
해쉬만 알면.. 어려운건아닌데.. 지렸던 타인의 풀이가 있어서.. 남겨본다.
먼저 내 코드이다.
def solution(participant, completion):
answer = ''
dictionary = {}
for i in participant:
if (dictionary.get(i) != None):
dictionary[i] += 1
else:
dictionary[i] = 1
for i in completion:
dictionary[i] -= 1
for i in participant:
if dictionary[i] == 1:
answer = i
return answer
그냥 단순하게..
딕셔너리를 통해 결과값을 배출하는 코드이다.
근데.... 다른사람의 코드를 보자
def solution(participant, completion):
answer = ''
temp = 0
dic = {}
for part in participant:
dic[hash(part)] = part
temp += hash(part)
for com in completion:
temp -= hash(com)
answer = dic[temp]
return answer
언뜻 보면 내꺼랑 같을 수 있는데...
여기서 조금 다른게 hash 의 +-를 통해 해쉬의 키를 마지막으로 구해서 그 키를 통해
한순간에 dictionary에 접근 한다는 것이다...
단순히 해쉬에 +-를 통해서 key값을 바로 만들어버린다는 것에서 충격과 0포였다...
역시 난 갈길이 멀다. 끗
반응형
'Algorithm' 카테고리의 다른 글
leetcode 173 java (0) | 2025.02.11 |
---|---|
leetcode 701 java (0) | 2025.02.11 |
BOJ No.1484[다이어트] (0) | 2021.03.23 |
BOJ No.11657[타임머신] (0) | 2021.03.20 |
BOJ No.1339[단어 수학] (2) | 2021.03.14 |