티스토리 뷰

Algorithm

[백준] S4 1764 듣보잡 (java)

코딩브론즈 2021. 1. 5. 03:08

www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

 

풀이

 

1) N 개 만큼 맵에 넣음

2) M 개 만큼 맵에 넣는데 이미 넣었던거라면 리스트에 넣음

3) 리스트를 정렬함

4) BufferedWriter에 사이즈와 리스트를 넣고 출력

 

주의사항

 

1) x

 

package com.baekJoon;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;

public class BJ_S4_1764_듣보잡 {
	static BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
	static BufferedWriter  output = new BufferedWriter(new OutputStreamWriter(System.out));
	static StringTokenizer tokens;
	static int N,M;
	
	public static void main(String[] args) throws NumberFormatException, IOException {
		input = new BufferedReader(new StringReader(src));
		tokens = new StringTokenizer(input.readLine());
		N = Integer.parseInt(tokens.nextToken());
		M = Integer.parseInt(tokens.nextToken());
		Map<String, Integer> map = new HashMap<>();
		List<String> list = new ArrayList<>();
		
		for(int n=0; n<N; n++) {
			String temp = input.readLine();
			map.put(temp, 1);
		}
		for(int m=0; m<M; m++) {
			String temp = input.readLine();
			if(map.get(temp) != null) {
				list.add(temp);
			}
		}
		Collections.sort(list);
		output.append(list.size()+"\n");
		for(int i=0; i<list.size(); i++) {
			output.append(list.get(i)+"\n");
		}
		
		output.close();
	}

	static String src =
			"3 4\r\n" + 
			"ohhenrie\r\n" + 
			"charlie\r\n" + 
			"baesangwook\r\n" + 
			"obama\r\n" + 
			"baesangwook\r\n" + 
			"ohhenrie\r\n" + 
			"clinton";
}

 

 

후기

 

출제자의 의도는 이분 탐색인것 같은데 맵을 이용하면 정말 쉬운 문제였다. 

println 으로 출력할 시 BufferedWriter 보다 80ms나 느리다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함