Algorithm
[파이썬 - 14425번] 문자열 집합
js1024
2023. 4. 11. 13:18
문제
해당 문제는 n, m에 문자열 개수를 할당하고 개수만큼 문자열을 입력한다. n 개수만큼 's 집합'에 문자열을 넣고 해당 값과 같은 문자열이 있는 경우를 count를 통해 몇개 겹치는지를 구하는 문제이다.
처음 이 문제를 접했을 때는 아무생각도 없이 풀어 리스트에 문자열들을 넣어주고 해당 값의 교집합을 구해 개수를 구했다.
n, m = map(int, input().split())
nlist = []
for i in range(n):
nlist.append(str(input()))
mlist = []
for i in range(m):
mlist.append(str(input()))
intersection = list(set(nlist) & set(mlist))
print(len(intersection))
당연히 결과는 옳바르게 나오게 된다.
문제를 풀때 집중해야되는 부분은 문제가 요구하는 조건을 충족시켜야된다. 해당 문제에서는 분명 집합에 문자열을 넣고 해당 문자열과 겹치는 부분을 구하는 문제이다. 리스트에 해당하는 값이 아니라....
문제를 푸는 시간 중 해당 조건을 다시 생각하는데 오래걸렸다. 처음 제출시 틀렸다라는 결과를 받았을 때 눈치를 챘어야됬는데 ㅋㅋ..
n, m = map(int, input().split())
s = set()
for _ in range(n):
s.add(input())
count = 0
for _ in range(m):
if input() in s:
count += 1
print(count)