STUDY πŸ’›/μ•Œκ³ λ¦¬μ¦˜

[BOJ] 1764 λ“£λ³΄μž‘_JAVA

DONI. 2020. 6. 11. 19:47
λ°˜μ‘ν˜•

 

[ 문제 ]

www.acmicpc.net/problem/1764

 

1764번: λ“£λ³΄μž‘

첫째 쀄에 듣도 λͺ»ν•œ μ‚¬λžŒμ˜ 수 N, 보도 λͺ»ν•œ μ‚¬λžŒμ˜ 수 M이 주어진닀. μ΄μ–΄μ„œ λ‘˜μ§Έ 쀄뢀터 N개의 쀄에 걸쳐 듣도 λͺ»ν•œ μ‚¬λžŒμ˜ 이름과, N+2μ§Έ 쀄뢀터 보도 λͺ»ν•œ μ‚¬λžŒμ˜ 이름이 μˆœμ„œλŒ€λ‘œ 주어진닀.

www.acmicpc.net

κΉ€μ§„μ˜μ΄ 듣도 λͺ»ν•œ μ‚¬λžŒμ˜ λͺ…단과 보도λͺ»ν•œ μ‚¬λžŒμ˜ λͺ…단이 μ£Όμ–΄μ§ˆ λ•Œ,
듣도 보도 λͺ»ν•œ μ‚¬λžŒμ˜ λͺ…단을 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.



[ μž…λ ₯ ]

첫째 쀄에 듣도 보도 λͺ»ν•œ μ‚¬λžŒμ˜ 수 N, 보도 λͺ»ν•œ μ‚¬λžŒμ˜ 수 M이 주어진닀. μ΄μ–΄μ„œ λ‘˜μ§Έ 쀄뢀터 N개의 쀄에 걸쳐 듣도 보도 λͺ»ν•œ μ‚¬λžŒμ˜ 이름과, N+2μ§Έ 쀄뢀터 보도 λͺ»ν•œ μ‚¬λžŒμ˜ 이름이 μˆœμ„œλŒ€λ‘œ 주어진닀. 이름은 띄어쓰기 없이 μ˜μ–΄ μ†Œλ¬Έμžλ‘œλ§Œ 이루어지며, κ·Έ κΈΈμ΄λŠ” 20 μ΄ν•˜μ΄λ‹€. N, M은 500,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€.



[ 좜λ ₯ ]

λ“£λ³΄μž‘μ˜ μˆ˜μ™€ κ·Έ λͺ…단을 μ‚¬μ „μˆœμœΌλ‘œ 좜λ ₯ν•œλ‹€.

[ 예제 μž…λ ₯ ] [ 예제 좜λ ₯ ]







clinton








 


[ 전체 μ½”λ“œ ]

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.StringTokenizer;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		//ArrayList<String> nlist = new ArrayList();
		HashSet<String> hs = new HashSet<String>();
		ArrayList<String> list = new ArrayList();
		
		try {
			StringTokenizer tr = new StringTokenizer(br.readLine());
			
			int n = Integer.parseInt(tr.nextToken());
			int m = Integer.parseInt(tr.nextToken());
			
			for (int i=0; i<n; i++) {
				hs.add(br.readLine());
			}
			
			for (int j=0; j<m; j++) {
				String b = br.readLine();
				
				if(hs.contains(b)) {
					list.add(b);
				}
			}
			
			Collections.sort(list);
			
			bw.write(list.size() + "\n");
			for(int i=0; i<list.size(); i++) {
				bw.write(list.get(i) + "\n");
			}
			
			bw.flush();
			bw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

λ°˜μ‘ν˜•