본문 바로가기

백준/Hash & Tree

백준 1620 자바

반응형

 

해쉬맵을 이용해서 풀 수 있는 문제입니다

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