[Algorithm] 단어찾기(해쉬)

myeonji·2022년 2월 15일
0

Algorithm

목록 보기
40/89

💡 해쉬

  • 키(Key)에 데이터(Value)를 저장하는 데이터 구조
  • Key를 통해 데이터를 바로 받아옴 -> 속도 빠름
  • 파이썬 딕셔너리(Dictionary) 타입 사용

현수는 영어로 시는 쓰는 것을 좋아합니다.
현수는 시를 쓰기 전에 시에 쓰일 단어를 미리 노트에 적어둡니다.
이번에는 N개의 단어를 노트에 적었는데 시에 쓰지 않은 단어가 하나 있다고 합니다.
여러분이 찾아 주세요.

< 내 답안 >

n = int(input())
note = []
poem = []
for _ in range(n):
    note.append(input())

for _ in range(n-1):
    poem.append(input())

for i in note:
    if i not in poem:
        print(i)

해쉬 자료구조를 몰라서 리스트로 풀었다. 만능 리스트..

< 해쉬 사용한 모범답안 >

n = int(input())
p = dict()
for i in range(n):
    word = input()
    p[word] = 1

for j in range(n-1):
    word = input()
    p[word] = 0

for k, v in p.items():
    if p[k] == 1:
        print(k)
        break

내 답안에서 리스트로 풀었을 땐 리스트를 2개 만들었는데,
해쉬를 사용하니까 dict 하나만 만들면 된다.

음 뭐야! 해쉬는 사전 타입이였자나?! 🤗

0개의 댓글