본문 바로가기

Algorithm/Baekjoon

[백준_JAVA_알고리즘] 17219 비밀번호 찾기

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.Map;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
		
        String[] tokens = bufferedReader.readLine().split(" ");
        int N = Integer.parseInt(tokens[0]);
        int M = Integer.parseInt(tokens[1]);
        
        Map<String, String> map = new HashMap<String, String>();
        for(int i = 0; i < N; i++) {
        	tokens = bufferedReader.readLine().split(" ");
        	map.put(tokens[0], tokens[1]);
        }
        
        StringBuilder stringBuilder = new StringBuilder();
        for(int i = 0; i < M; i++)
        	stringBuilder.append(map.get(bufferedReader.readLine())).append('\n');
        
        bufferedWriter.write(stringBuilder.toString());
		
		bufferedReader.close();
		bufferedWriter.flush();
		bufferedWriter.close();		
	}
}

BufferedReader와 BufferedWriter을 통해 빠른 입출력을 할 수 있다. flush()와 close()를 해주어야 한다.

Map을 이용해 key, value 쌍으로 값을 참조할 수 있다.

StringBuilder를 통해 문자열을 추가해서 한 번에 출력할 수 있다.