https://www.acmicpc.net/problem/22233
코드설명
HashSet(해시셋) 을 활용합니다.
가희가 블로그에 작성한 키워드들을 메모장에서 하나씩 지워나가면 됩니다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.StringTokenizer;
public class Main {
private static int C, N, M, W, H, K;
private static int answer = 0;
private static String[] arr;
private static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
arr = new String[N];
HashSet<String> hashset = new HashSet<>();
for(int i=0;i<N;i++) {
st = new StringTokenizer(br.readLine());
arr[i] = st.nextToken();
hashset.add(arr[i]);
}
for(int i=0;i<M;i++) {
st = new StringTokenizer(br.readLine());
answer = func(hashset, st.nextToken().split("[,]"));
sb.append(answer).append("\n");
// System.out.println(answer);
}
System.out.println(sb.toString());
}
private static int func(HashSet<String> hashset, String[] keyword) {
for(int i=0;i<keyword.length;i++) {
hashset.remove(keyword[i]);
}
return hashset.size();
}
}
'알고리즘 > 해시를 사용한 집합과 맵' 카테고리의 다른 글
[백준] 1972 놀라운 문자열 - 해시셋(HashSet) + DFS(깊이우선탐색) JAVA (0) | 2024.08.13 |
---|---|
[백준] 1270 전쟁 - 땅따먹기 - 해시맵(HashMap) JAVA (0) | 2024.08.13 |
[백준] 9536 여우는 어떻게 울지? - 해시셋(HashSet) JAVA (0) | 2024.07.25 |
[백준] 3273 두 수의 합 - HashSet(해시셋) + 정렬(Sort) + 투포인터(Two Pointer) JAVA (0) | 2024.07.23 |
[백준] 2002 추월 - HashMap(해시맵) + 구현(Implementation) JAVA (0) | 2024.04.03 |