백준공부/java

[백준] 11116번 교통량 문제! (silver 5

gomduri43 2022. 8. 11. 20:58

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
		int t=Integer.parseInt(br.readLine());
		HashMap<String,String> left=new HashMap<String,String>();
		String[] right;
		StringTokenizer st;
		//두 기록을 각각 저장해주기.
		for(int i=0; i<t; i++) {
			int m=Integer.parseInt(br.readLine());
			st=new StringTokenizer(br.readLine());
			for(int l=0; l<m; l++) {
				left.put(st.nextToken(),"1");
			}
			st=new StringTokenizer(br.readLine());
			right=new String[m];
			for(int r=0; r<m; r++) {
				right[r]=st.nextToken();
			}
			// left에서 오는 차의 수를 구해야하므로, right에서 넘어와서 left에 찍힌 차량들을 지운다.
			for(int j=0; j<right.length; j++) {
				String time=String.valueOf(Integer.parseInt(right[j])+1000);
				if(left.get(time)!=null) {
					left.remove(time);
				}
				else {
					continue;
				}
			}
			bw.write(left.size()/2+"\n");
			left.clear();	
		}
		bw.flush();
	}
}