시간 & 메모리 제한
문제
문제 생략.........
문제가 너무 길어서 입력 출력부터 읽어봤는데,,,,
이 문제는 입력과 출력만 읽어봐도 어떤 문제인지 파악할 수 있습니다.
입력 & 출력
자료구조를 이용한 풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;
public class Back_1620 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
HashMap<Integer, String> po1 = new HashMap<Integer, String>(N);
HashMap<String, Integer> po2 = new HashMap<String, Integer>(N);
for (int i = 1; i <= N; i++) {
String temp = br.readLine();
po1.put(i, temp);
po2.put(temp, i);
}
for (int i = 0; i < M; i++) {
String temp = br.readLine();
if(temp.charAt(0)<='Z' && temp.charAt(0)>='A') {
sb.append(po2.get(temp)+"\n");
}else {
sb.append(po1.get(Integer.parseInt(temp))+"\n");
}
}
System.out.println(sb);
}
}
dㄻㄴㅇㄹ- HashMap을 이용해서 문제를 해결했습니다.
- HsahMap을 이용해서 포켓몬의 번호와 이름을 받았습니다. 또한 반대로도 받았습니다..
- for문을 돌려서 A부터 Z 사이인 값을 가지고 있으면 이름의 키를 가지고 번호를 찾고,
나머지의 경우에는 숫자를 가지고 이름을 찾으면 됩니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_11399 ATM(자바) / 그리디 알고리즘 (0) | 2021.05.03 |
---|---|
백준_1697 숨바꼭질(자바) / BFS & DFS (0) | 2021.05.02 |
백준_15684 사다리 조작(자바) / 브루트포스 (0) | 2021.04.30 |
백준_17143 낚시왕(자바) / 시뮬레이션 (0) | 2021.04.26 |
백준_3231 카드놀이(자바) / 구현 (0) | 2021.04.24 |