https://www.acmicpc.net/problem/22233
나의풀이
import java.util.*;
import java.io.*;
public class Main {
public static void main(String args[]) throws Exception {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st=new StringTokenizer(br.readLine());
int n=Integer.parseInt(st.nextToken());
int m=Integer.parseInt(st.nextToken());
Set<String> arr=new HashSet<>();
for(int i=0;i<n;i++){
arr.add(br.readLine());
}
for(int i=0;i<m;i++){
String temp[]=br.readLine().split(",");
for(String s:temp){
if(arr.contains(s)){
arr.remove(s);
}
}
bw.write(String.valueOf(arr.size())+"\n");
}
bw.flush();
br.close();
bw.close();
}
}
Tip.
처음에 HashSet 대신에 ArrayList를 썼을때는 시간초과가 발생했다.
ArrayList는 순서 정보까지 저장하기 때문에 HashSet을 쓸 수 있다면 쓰는 것이 시간 절약에 매우 도움이 된다! HashSet은 순서 정보를 저장하지 않기 떄문.
'코테풀이' 카테고리의 다른 글
[백준] BOJ - 20920 영단어 암기는 괴로워 자바 java (실버3) (0) | 2023.02.15 |
---|---|
[프로그래머스] 프로그래머스 할인 행사 java 자바 (level2) (0) | 2023.02.15 |
[백준] BOJ - 17484 진우의 달 여행 (Small) 자바 java (실버3) (0) | 2023.02.08 |
[백준] BOJ - 8979 올림픽 java 풀이 (실버5) (0) | 2023.02.08 |
[백준] BOJ - 10431 줄 세우기 자바 java (실버 5) (0) | 2023.02.07 |