[백준 1620번 : 나는야 포켓몬 마스터 이다솜] java 풀이

Elmo·2022년 8월 1일
0

[백준] 알고리즘

목록 보기
19/39

🔔집합과 맵 - 나는야 포켓몬 마스터 이다솜

해쉬맵을 이용하여 숫자와 문자열을 연결했다.

  • 처음에는 (인덱스, 문자열)로만 맵에 넣었더니 문자열을 입력받을 때 인덱스 값을 가져오지 못해 반복문을 사용했더니 시간초과가 났다.
  • (인덱스, 문자열)(문자열, 인덱스)를 동시에 맵에 넣음으로써 해결했다.

포켓몬 스토리 읽는 재미가 있었다 ㅎㅎ

🔑 java 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

public class Main{
	public static void main(String[] args) throws 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());
		
		Map<String,String> map = new HashMap<>();
		String str;
		for(int i=1; i<=N; i++) {
			str = br.readLine();
			map.put(Integer.toString(i), str);
			map.put(str, Integer.toString(i));
		}
		for(int i=1; i<=M; i++) {
			str = br.readLine();
			sb.append(map.get(str)+"\n");
		}
		System.out.print(sb);
		br.close();
	}
}

profile
엘모는 즐거워

0개의 댓글