이번에 풀어본 문제는
백준 1620번 나는야 포켓몬 마스터 이다솜 입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
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());
Map<String, String> hm = new HashMap<>();
for (int i = 1; i <= N; i++) {
String input = br.readLine();
hm.put(String.valueOf(i),input);
hm.put(input,String.valueOf(i));
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < M; i++) {
String input = br.readLine();
sb.append(hm.get(input)).append("\n");
}
System.out.print(sb);
}
}
도감에 포켓몬의 이름이 번호 순서대로 주어질 때, 번호를 입력하면 이름을, 이름을 입력하면 번호를 출력하는 문제입니다.
HashMap에 번호와 이름을 key값으로 갖도록 모두 담아, 입력값에 대한 value 를 출력하면 해결할 수 있습니다.
문제가 굉장히 길게 적혀 있는데, 저는 읽다가 킹받아서 다 읽었습니다...ㅋㅋㅋㅋㅋ
귀찮으시면 맨 아랫부분만 읽어도 충분히 이해하고 푸실 수 있어요!