14425. 문자열 집합

jp·2021년 10월 31일
0

baekjoon

목록 보기
9/15

문제

코드

// 리스트 사용 3844ms
N, M = map(int,input().split())
origin = [input() for _ in range(N)]
cnt = 0
for _ in range(M):
    ip = input()
    if ip in origin:
        cnt += 1
        origin.remove(ip)
print(cnt)

// 딕셔너리 사용 148ms
N, M = map(int,input().split())
origin = {input() for _ in range(N)}
cnt = 0
for _ in range(M):
    ip = input()
    if ip in origin:
        cnt += 1
print(cnt)

풀이

단지 리스트 => 딕셔너리로 바꾼 것 밖에 없는데
자료구조에 따라 시간복잡도가 확연히 차이나서 너무 놀랍다

근데 이게 왜 트리를 사용한 집합과 맵 카테고리에 있는지 모르겠다
나처럼 단순한 방법이 아니라 다른 방법이 있는건지...?

profile
응애 개발자지망생이 알고리즘에 고통받는 중

0개의 댓글