-
[백준 - 1620번] 나는야 포켓몬 마스터 이다솜 - Java //Wello Horld//Algorithm/BOJ(Baekjoon Online Judge) 2019. 12. 31. 11:42
이번에는 BOJ의 15431620번 문제 "문서 검색나는야 포켓몬 마스터 이다솜" 을 풀어보도록 하자
일단 문제가 너무 길어서 난독증 있으신 분들은 입력과 출력 부분만 읽는것을 추천드립니다;;
내용자체는 재미있긴했어요
입력으로 포켓몬 도감에 수록되어있는 포켓몬의 개수 N과 내가 맞춰야 하는 문제의 개수 M이 주어진다. 그 다음줄부터 N개의 줄만큼 포켓몬의 번호가 1번인 포켓몬부터 N번까지 차례대로 주어진다. 포켓몬은 첫글자만 대문자이고 나머지는 소문자이다. 그 다음 줄부터 M개의 줄만큼 내가 맞춰야 하는 문제가 주어진다. 포켓몬이름이 주어지기도 하고 포켓몬의 번호가 주어지기도 한다.
출력으로 M개의 줄만큼 문제에 대답을 출력하면 되는 문제이다.
성공한 코드는 아래와 같다.
import java.io.*; import java.util.*; public class sample { public static void main(String[] args) throws Exception { 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<String, Integer> mapA = new HashMap<>(); HashMap<Integer, String> mapB = new HashMap<>(); for(int i = 0; i < N; i++){ String s = br.readLine(); mapA.put(s, i + 1); mapB.put(i + 1, s); } for(int i = 0; i < M; i++){ String s = br.readLine(); if(Character.isDigit(s.charAt(0))){ int a = Integer.parseInt(s); bw.write(mapB.get(a) + "\n"); } else { bw.write(mapA.get(s) + "\n"); } } bw.flush(); br.close(); bw.close(); } }
문제 : https://www.acmicpc.net/problem/1620
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면 물어봐도 괜찮아. 나는 언제든지 질문에 답해줄 준비가 되어있어. 둘째 줄부터 N개의 줄에 포켓몬의 번호가 1번인 포켓몬부터 N번에 해당하는 포켓몬까지 한 줄에 하나씩 입력으로 들어와. 포켓몬의 이름은 모두 영어로만 이루어져있고, 또, 음... 첫 글자만
www.acmicpc.net
혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요.
'Algorithm > BOJ(Baekjoon Online Judge)' 카테고리의 다른 글
[백준 - 1966번] 프린터 큐 - Java //Wello Horld// (0) 2019.12.31 [백준 - 1676번] 팩토리얼 0의 개수 - Java //Wello Horld// (0) 2019.12.31 [백준 - 1543번] 문서 검색 - Java //Wello Horld// (0) 2019.12.27 [백준 - 1357번] 뒤집힌 덧셈 - Java //Wello Horld// (0) 2019.12.27 [백준 - 1350번] 진짜 공간 - Java //Wello Horld// (0) 2019.12.27