https://www.acmicpc.net/problem/1620
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
해석 및 팁
이 문제는 2개의 HashMap을 사용하여 풀 수 있습니다. 하나는 포켓몬의 이름을 key로 저장하고 다른 하나는 번호를 key로 저장합니다. 그 후에 반복문을 통해 숫자를 입력받으면 이름을 출력하고 입력을 입력받으면 번호를 출력하도록 하면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
HashMap<String, Integer> name = new HashMap<>();
HashMap<Integer, String> num = new HashMap<>();
int n = sc.nextInt();
int m = sc.nextInt();
for(int i = 1; i <= n; i++) {
String str = sc.next();
name.put(str, i);
num.put(i, str);
}
for(int i = 0; i < m; i++) {
String str = sc.next();
if(Character.isDigit(str.charAt(0))) sb.append(num.get(Integer.parseInt(str))+"\n");
else sb.append(name.get(str)+"\n");
}
System.out.println(sb);
}
}
'백준' 카테고리의 다른 글
백준 18258 큐 2(Java) (0) | 2023.01.26 |
---|---|
백준 1021 회전하는 큐(Java) (0) | 2023.01.26 |
백준 2217 로프(Java) (0) | 2023.01.26 |
백준 4949 균형잡힌 세상(Java) (0) | 2023.01.25 |
백준 1764 듣보잡(Java) (0) | 2023.01.25 |