반응형
해쉬맵을 이용해서 풀 수 있는 문제입니다
N번 동안 입력을 받고 해쉬맵에 넣는 부분은 쉬웠지만 출력 부분을 처리하는데 좀 시간이 걸렸습니다.
key값을 이용해서 value값을 구하는 건 할 수 있었지만 숫자를 입력 받고 그에 해당하는 포켓몬 이름을 어떻게 처리하지 라는 생각을 했었고 조금 찾아보니까 String 배열을 만드는 방법과 해쉬맵에 (숫자,이름) (이름,숫자) 이렇게 두 가지를 넣는 방법이 있어서 그 중 후자를 택해서 풀었습니다.
import java.io.*;
import java.util.*;
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());
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashMap<String,String> hashMap = new HashMap<>();
for (int i = 0; i < N; i++) {
String s = br.readLine();
String num = Integer.toString(i+1);
hashMap.put(s,num);
hashMap.put(num,s);
}
for (int i = 0; i < M; i++) {
sb.append(hashMap.get(br.readLine())).append('\n');
}
System.out.println(sb);
}
}
반응형
'백준 > Hash & Tree' 카테고리의 다른 글
백준 20291 자바 (0) | 2022.08.24 |
---|---|
백준 10867 자바 (0) | 2022.08.23 |
백준 25192 자바 (0) | 2022.08.23 |
백준 14425 자바 (0) | 2022.08.21 |
백준 1764 자바 (0) | 2022.08.19 |