[백준] 14425번 문자열 집합 _ 문제 풀이

 


1. 문제

https://www.acmicpc.net/problem/14425

2. 풀이

2.1. 오답 풀이

집합을 이용하여 N과 M 문자열 집합의 교집합을 사용해서 문제를 해결했습니다.

N, M = map(int, input().split())
N_set, M_set = set(), set()
for _ in range(N):
    N_set.add(input())
for _ in range(M):
    M_set.add(input())
print(len(N_set & M_set))

2.2. 정답 풀이

M 문자열에 동일한 문자열이 들어오는 경우를 고려하지 않으면, 위의 문제 풀이는 오답이 됩니다. 동일한 문자열이 들어올 수 있기 때문에, 하나씩 세주는 것이 맞는 풀이입니다.

N, M = map(int, input().split())
N_set = set()
answer = 0
for _ in range(N):
    N_set.add(input())
for _ in range(M):
    if input() in N_set:
        answer += 1
print(answer)