Algorithm/Baekjoon Online Judge
[Java] BOJ1620_나는야 포켓몬 마스터 이다솜
'지훈'
2021. 4. 23. 16:45
포켓몬 이름과 도감 번호를 Key, Value로 갖기 위해 HashMap을 이용했다. 탐색을 빨리하기 위함도 있다.
하지만 key값으로 값을 찾는 것은 빠르지만 value를 이용해 값을 찾는 것은 오래 걸리기 때문에 도감 번호를 key로, 포켓몬 이름을 value로 하는 HashMap을 하나 더 만들었다.
그렇게 하여 key값으로만 탐색을 하도록 구현하였다.
import java.io.*;
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));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashMap<String, Integer> dogam = new HashMap<>();
HashMap<Integer, String> dogam2 = new HashMap<>();
for (int i = 1; i <= N; i++) {
String temp = br.readLine();
dogam.put(temp, i);
dogam2.put(i, temp);
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < M; i++) {
String temp = br.readLine();
if (Character.isDigit(temp.charAt(0))) {
int val = Integer.parseInt(temp);
sb.append(dogam2.get(val)).append("\n");
} else {
sb.append(dogam.get(temp)).append("\n");
}
}
System.out.println(sb.toString());
}
}