💡 문제
💬 입출력 예시
📌 풀이(소스코드)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashSet<String> set = new HashSet<>();
for (int i = 0; i < N; i++) {
set.add(br.readLine());
}
int cnt = 0;
for (int i = 0; i < M; i++) {
String s = br.readLine();
if (set.contains(s)) {
cnt++;
}
}
System.out.println(cnt);
}
}
📄 해설
접근
HashSet
을 이용하여 단순 구현을 하는 문제
- 단순히
HashSet
에 문자열을 넣고 입력으로 주어지는 M 개의 문자열이 몇개나 포함되는지 개수를 세면 된다.
과정
HashSet
을 생성하고, N개의 입력받은 문자열을 추가한다.
- M 개의 문자열을 입력받고, 해당 문자열이
HashSet
에 있으면 cnt
값을 증가시킨다.
- 반복 종료 후
cnt
값을 출력하면 끝