-
백준 22233번 가희와 키워드(자바)코딩테스트 2022. 11. 11. 17:25
가희와 키워드 성공
시간 제한메모리 제한제출정답맞힌 사람정답 비율1.5 초 512 MB 1680 594 431 34.618% 문제
가희는 블로그를 운영하고 있습니다. 가희는 블로그에 글을 쓰기 위해, 메모장에 키워드를 적곤 합니다.
지금까지 메모장에 써진 키워드는 모두 서로 다르며, 총 N개가 존재합니다.
가희는 새로운 글을 작성할 때, 최대 10개의 키워드에 대해서 글을 작성합니다.
이 키워드들 중에 메모장에 있었던 키워드는 가희가 글을 쓴 이후, 메모장에서 지워지게 됩니다.
가희는 블로그에 글을 쓰고 나서, 메모장에 있는 키워드 개수가 몇 개인지 알고 싶습니다. 가희를 도와주세요.
입력
첫 번째 줄에 가희가 메모장에 적은 키워드 개수 N, 가희가 블로그에 쓴 글의 개수 M이 공백으로 구분해서 주어집니다.
2번째 줄부터 N+1번째 줄까지 메모장에 적은 키워드 N개가 주어집니다.
N+2번째 줄부터 N+M+1번째 줄까지, 가희가 쓴 글과 관련된 키워드가 , (쉼표)로 구분해서 주어집니다. 공백으로 구분되지 않음을 유의해 주세요.
출력
x번째 줄에는 x번째 글을 쓰고 난 후에 메모장에 남아 있는 키워드의 개수를 출력해 주세요.
제한
- 1 ≤ N ≤ 2×105
- 1 ≤ M ≤ 2×105
- 1 ≤ 글에 있는 키워드 개수 ≤ 10
- 1 ≤ 키워드 길이 ≤ 10
- 키워드는 소문자와 숫자로만 이루어져 있습니다.
- 메모장에 있는 키워드 이름은 중복되지 않습니다.
- 글에 있는 키워드 이름은 중복되지 않습니다. 그러나, 한 키워드는 여러 글에 있을 수 있습니다
예제 입력 1 복사
5 2 map set dijkstra floyd os map,dijkstra map,floyd
예제 출력 1 복사
3 2
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Scanner; 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> hs = new HashSet<>(); for (int i = 0; i < n; i++) { hs.add(br.readLine()); } for (int i = 0; i < m; i++) { st = new StringTokenizer(br.readLine(), ","); while (st.hasMoreTokens()) { String str = st.nextToken(); if (hs.contains(str)) hs.remove(str); } System.out.println(hs.size()); } } }
'코딩테스트' 카테고리의 다른 글
백준 14466번 소가 길을 건너간 이유6(자바) - bfs/ 2차원 ArrayList (0) 2022.11.24 백준 15591번 MooTube(자바) - bfs (0) 2022.11.23 백준 11404번 플로이드(자바) - 플로이드 워셜 (0) 2022.11.07 백준 1504번 특정한 최단 경로(자바) - 다익스트라 알고리즘 (0) 2022.11.07 백준 17142번 연구소3(자바) - dfs,bfs,삼성 sw 역량기출 (1) 2022.10.03