[伯俊]1620:ポケモンマスターの李多順です(JAVA/ジャワ)
14332 ワード
質問する
BOJ 1620:私はポケモンマスター李多順-https://www.acmicpc.net/problem/1620
に答える
入力したポケモン情報を保存し、数字を入力した場合、該当するポケモン名を入力し、文字を入力して該当するポケモン名を出力します.
文字も数字も答えを出すため、Integer->StringとString->Integerのマッピングをそれぞれ実現する2つのHashMapが作成されました.
入力した文字列が数字の場合はIntegerをキーとしたMapから取り出し、文字の場合はStringをキーとしたMapから取り出せばよい!
コード#コード#
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] inputs = br.readLine().split(" ");
int n = Integer.parseInt(inputs[0]);
int m = Integer.parseInt(inputs[1]);
HashMap<Integer, String> map_int = new HashMap<>();
HashMap<String, Integer> map_str = new HashMap<>();
for (int i = 1; i <= n; i++) {
String name = br.readLine();
map_int.put(i, name);
map_str.put(name, i);
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= m; i++) {
String tmp = br.readLine();
if(isNum(tmp)){
sb.append(map_int.get(Integer.parseInt(tmp))+"\n");
}else{
sb.append(map_str.get(tmp)+"\n");
}
}
System.out.println(sb);
}
public static boolean isNum(String str) {
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
}
整理する
✔ 알고리즘 분류 - 자료 구조, 해시를 사용한 집합과 맵
✔ 난이도 - ⚪ Silver 4
🤦今日のメッセージ
久しぶりにきれいに通過した問題
public static boolean isNum(String str) {
for (int i = 0; i < str.length(); i++) {
if (!Character.isDigit(str.charAt(i))) {
return false;
}
}
return true;
}
コメントサイト
いいえ
Reference
この問題について([伯俊]1620:ポケモンマスターの李多順です(JAVA/ジャワ)), 我々は、より多くの情報をここで見つけました https://velog.io/@yanghl98/백준-1620-나는야-포켓몬-마스터-이다솜-JAVA자바テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol