백준 1620 나는야 포켓몬 마스터 이다솜[Java]

seren-dev·2022년 8월 13일
0

백준 - 집합과 맵

목록 보기
2/5

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

접근

맵을 사용하여 포켓몬 도감을 저장한다. 번호를 키로 한 맵, 이름을 키로 한 맵, 총 2가지의 맵을 사용한다.

나의 풀이

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));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        StringTokenizer st = new StringTokenizer(br.readLine());

        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        HashMap<Integer, String> pokemonOne = new HashMap<>();
        HashMap<String, Integer> pokemonTwo = new HashMap<>();

        for (int i = 0; i < n; i++) {
            String tmp = br.readLine();
            pokemonOne.put(i+1, tmp);
            pokemonTwo.put(tmp, i+1);
        }

        for (int i = 0; i < m; i++) {
            String tmp = br.readLine();
            if (Character.isDigit(tmp.charAt(0))) {
                int num = Integer.parseInt(tmp);
                bw.write(pokemonOne.get(num)+"\n");
            }
            else {
                bw.write(pokemonTwo.get(tmp) + "\n");
            }
        }

        bw.flush();
        bw.close();
    }
}
  • Character.isDigit() 을 사용하여 입력으로 숫자가 들어왔는지 판단한다.

0개의 댓글