
메모장에는 주소와 그 주소에 해당하는 비밀번호 목록이 적혀있다. 비밀번호를 찾고 싶은 주소를 입력받으면 그에 해당하는 비밀번호를 출력하면 된다.
자바 컬렉션 Map을 이용하면 쉽게 풀 수 있다. 여기서 key값이 사이트의 주소가 되고 value값이 비밀번호가 된다.
map.put을 통해 주소 목록을 작성하고 map.get을 통해 필요한 정보를 가져오면 된다.
다만 본 문제에서 입출력 방식이 느리면 시간초과가 날 수 있다. JAVA의 경우에는 Scanner 대신 BufferedReader 그리고 System.out.println 대신 BufferedWriter를 쓰는 것이 좋다. 이 입출력 클래스는 버퍼의 내용을 그대로 사용하기 때문에 속도가 빠르다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
public class Main {
static int N;
static int M;
static HashMap<String, String> map;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] str1 = br.readLine().split(" ");
map = new HashMap<>();
N = Integer.parseInt(str1[0]);
M = Integer.parseInt(str1[1]);
while(N-->0){
String[] str2 = br.readLine().split(" ");
map.put(str2[0], str2[1]);
}
while(M-->0){
String search = br.readLine();
bw.write(map.get(search) + "\n");
}
bw.flush();
bw.close();
br.close();
}
}
