본문 바로가기

알고리즘

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

알고리즘-boj1620

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

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

  • 문제 접근

처음시도에는 문제에 접근했을 때, 하나의 int 배열에 넣어서 구현했음 -> 시간초과

두번째 시도에는 데이터를 담는 배열을 2개를 만들었음.

String으로 문제가 들어오면 HashMap을 이용하여 답을 출력하고,

int로 문제가 들어오면 Stringp배열을 이용해 답을 출력했음.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.LinkedHashMap;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] strings = br.readLine().split(" ");
        int cnt = Integer.parseInt(strings[0]);
        int questionCnt = Integer.parseInt(strings[1]);

        String[] arr = new String[cnt + 1];
        HashMap<String, Integer> map = new LinkedHashMap<>();

        for (int i = 1; i < cnt + 1; i++) {
            arr[i] = br.readLine();
            map.put(arr[i], i);
        }

        for (int i = 0; i < questionCnt; i++) {
            String a = br.readLine();
            if ((a.charAt(0) - 65) < 0) {
                int num = Integer.parseInt(a);
                System.out.println(arr[num]);
            } else {
                System.out.println(map.get(a));
            }
        }
    }
}

 

 

'알고리즘' 카테고리의 다른 글

백준 1181 단어 정렬  (0) 2019.03.02
BOJ 2501 약수구하기  (0) 2019.01.25
CodeForces, 1A. Theatre Square  (0) 2019.01.18
선택 정렬 selection sort  (1) 2018.12.18