ALGORITHM/BOJ
[BOJ] 1620 나는야 포켓몬 마스터 이다솜
0298
2023. 6. 21. 19:38
https://www.acmicpc.net/problem/1620
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
2023-06-21
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
|
import java.util.HashMap;
import java.util.Scanner;
public class Main1620 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
HashMap<Integer, String> map = new HashMap<>();
HashMap<String, Integer> mapOpp = new HashMap<>();
for(int i = 1; i <= n; i++) {
String str = sc.next();
map.put(i, str);
mapOpp.put(str, i);
}
for(int i = 0; i < m; i++) {
String tmp = sc.next();
if(Character.isDigit(tmp.charAt(0))) System.out.println(map.get(Integer.parseInt(tmp)));
else System.out.println(mapOpp.get(tmp));
}
}
}
|
cs |
#문제풀이
map 2개 만들어서 (번호, 이름) , (이름, 번호) 각각 넣었다.
단순히 (번호, 이름) 하나만 넣으면 시간초과 난다.
배열 하나 map 하나 만들어서 해도 되고 map 하나에 (번호, 이름), (이름, 번호) 둘 다 넣어서 해도 될 것 같다.