본문 바로가기

문제풀이/백준 문제

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

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

public class 나는야포켓몬마스터이다솜_1620 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        // 도감의 개수 N과 문제의 개수 M 입력받기
        String input = br.readLine();
        String[] NM = input.split(" ");

        HashMap<String, Integer> pokemonMap = new HashMap<>(); // 포켓몬 이름을 key값으로 숫자를 값으로 설정
        String[] pokemonNames = new String[Integer.parseInt(NM[0])];

        // 도감의 내용 입력받기
        for(int i=0; i<Integer.parseInt(NM[0]); i++){
            String name = br.readLine();
            pokemonMap.put(name, i+1); // 포켓몬 이름을 key로, index+1을 value로 저장
            pokemonNames[i] = name;
        }

        for(int i=0; i<Integer.parseInt(NM[1]); i++){
            String target = br.readLine(); // 문제 입력받기

            // 만약 숫자를 입력받았다면 해당하는 index에 위치한 이름을 출력
            if(Character.isDigit(target.charAt(0))) {
                int index = Integer.parseInt(target);
                bw.write(pokemonNames[index-1]+"\n");
            }
            // 아니라면 target과 동일한 이름을 가진 것의 숫자를 출력
            else {
                bw.write(pokemonMap.getOrDefault(target, -1) + "\n");
            }
        }

        br.close();
        bw.flush(); // 한 번에 출력
        bw.close();
    }
}

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

'문제풀이 > 백준 문제' 카테고리의 다른 글

BackJoon_14425 문자열 집합  (0) 2023.10.18
BackJoon_1764 듣보잡  (0) 2023.10.17
BackJoon_7785 회사에 있는 사람  (0) 2023.10.14
BackJoon_15552 빠른 A+B  (0) 2023.10.14
BackJoon_2720 세탁소 사장 동혁  (1) 2023.10.11