1620나는야포켓몬마스터이다솜

LJM·2023년 1월 4일
0

백준풀기

목록 보기
14/259

https://www.acmicpc.net/problem/1620

해시맵 2개 사용해서 금방 해결하였다

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) {

        FastReader fr = new FastReader();
        String[] input = fr.nextLine().split(" ");
        int N = Integer.parseInt(input[0]);
        int M = Integer.parseInt(input[1]);
        HashMap<String, Integer> monName = new HashMap<>();
        HashMap<Integer, String> monNum = new HashMap<>();
        //ArrayList<String> answer = new ArrayList<>();

        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < N; ++i)
        {
            String name = fr.nextLine();
            monName.put(name, i+1);
            monNum.put(i+1, name);
        }
        for(int i = 0; i < M; ++i)
        {
            String tmp = fr.nextLine();
            if('0' <= tmp.charAt(0) && '9' >= tmp.charAt(0))
            {
                sb.append(monNum.get(Integer.parseInt(tmp)));
            }
            else
            {
                sb.append(monName.get(tmp));
            }

            if(i != M-1)
                sb.append("\n");
        }

        System.out.println(sb.toString());

    }

    static class FastReader
    {
        BufferedReader br;
        StringTokenizer st;

        FastReader()
        {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next()
        {
            while(st == null || !st.hasMoreElements())
            {
                try
                {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }
        String nextLine()
        {
            String str = "";
            try
            {
                str = br.readLine();
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
            return str;
        }

        int nextInt()
        {
            return Integer.parseInt(next());
        }

    }
}
profile
게임개발자 백엔드개발자

0개의 댓글