포켓몬의 개수 N과 문제의 개수 M이 주어진다.
포켓몬은 1번부터 배정되고, 각 문제에 포켓몬의 이름이 입력되면 도감번호를
도감 번호가 입력되면 포켓몬의 이름을 출력한다.
import java.util.*;
import java.io.*;
public class s2_1620_hashmap{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
HashMap<String, Integer> hm = new HashMap<>();
String[] ary = new String[n + 1];
for (int i = 0; i < n; i++) {
String name = br.readLine();
hm.put(name, i + 1);
ary[i + 1] = name;
}
// ary는 index 자체가 도감 번호, 내부에는 포켓몬 이름 저장
// hm는 (포켓몬 이름 : 도감 번호) 관계의 HashMap
for (int i = 0 ; i < m; i++) {
String temp = br.readLine();
if (temp.charAt(0) < 58) {
bw.write(ary[Integer.parseInt(temp)]);
bw.newLine();
}
else {
bw.write(String.valueOf(hm.get(temp)));
bw.newLine();
}
}
// 입력값 종류에 따라 Array와 HashMap 중 무엇을 참고할지 결정
bw.flush();
bw.close();
}
}
'PS > Problems' 카테고리의 다른 글
[Java] 백준 9095번 - Dynamic Programming (0) | 2021.12.28 |
---|---|
[Java] (시간 17등) 백준 7576번 (0) | 2021.12.27 |
[Java] 백준 2630번 - DFS (0) | 2021.12.26 |
[Java] 백준 2606번 - BFS (0) | 2021.12.26 |
[Java] 백준 1931번 - 그리디 알고리즘 (0) | 2021.12.26 |