HASH를 처음 사용해서 찍어가면서 문제를 풀었다
문제를 풀때 해시 테이블 개념을 사용했는데 만드는 방법은 간단하다
#딕셔너리 생성
dic = {}
kk = ["abc", "edf"]
dic[hash(kk)] = kk
이런식으로 값을 넣어주면 dic[hash(kk)] 에 "abc", "edf" 에 대한 아스키 값이 들어가게 된다
이 방법을 사용해서 문제를 풀었다 코드와 결과를 보면 쉽게 이해할 수 있다
participant = list(input().split())
completion = list(input().split())
tmp = 0
dic = {}
for p in participant:
dic[hash(p)] = p
print("hash (p) = " + str(hash(p)))
print("dic[hash(p)] = " + dic[hash(p)])
tmp += int(hash(p))
for com in completion:
tmp -= hash(com)
print("tmp = " + str(tmp))
kanghee oj kk
oj kanghee
hash (p) = 599771545252379686
dic[hash(p)] = kanghee
hash (p) = -2524011231458741283
dic[hash(p)] = oj
hash (p) = 322194471728654333
dic[hash(p)] = kk
oj
-2524011231458741283
kanghee
-2524011231458741283
tmp = 322194471728654333
'코딩테스트 > 풀이' 카테고리의 다른 글
[코딩테스트] 파이썬 프린트 (0) | 2022.04.30 |
---|---|
[코딩테스트] 회의실 배정 (그리디) (0) | 2022.04.12 |
[코딩 테스트] 마구간 정하기 (결정 알고리즘) 파이썬 (0) | 2022.02.22 |
[코딩 테스트] 헨드폰 번호 가리기 파이썬 (0) | 2022.02.18 |
[코딩 테스트] 뮤직비디오 (결정알고리즘) 파이썬 (0) | 2022.02.17 |
댓글