코테용 문제풀이/백준

문자열 집합 풀이

doctscoder 2023. 1. 6. 11:45

문제 링크: https://www.acmicpc.net/problem/14425

백준 집합과 맵 2단계 - 14425번 문자열 집합을 풀어보았다.

 

풀이: 문자열을 받아 거기에 속해있는지 알아보면 된다.

C++의 경우, unordered set을 이용했다.

파이썬의 경우, 시간을 줄이기 위해 list보다 set이나 dictionary를 사용해야 한다.

 

C++

#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
  int n,m,a;
	int cnt=0;
	cin>>n>>m;
	string s;
	unordered_set<string>us;
	for(int i=0;i<n;i++)
	{
		cin>>s;
		us.insert(s);
	}
	for(int i=0;i<m;i++)
	{
		cin>>s;
		if(us.find(s)!=us.end()) cnt++;
	}
	cout<<cnt;
}

Python

n,m=map(int,input().split())
sn={input() for i in range(n)} # set
cnt=0
for i in range(m):
	if input() in sn: cnt+=1
print(cnt)

Java