문제 풀이/백준

[백준] 17219번. 비밀번호 찾기(JAVA)

27200 2024. 11. 18. 10:20

문제

https://www.acmicpc.net/problem/17219


풀이(3분)

import java.io.*;
import java.util.*;
public class Main {

    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;

        st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        Map<String, String> map = new HashMap<>();
        for(int i = 0; i < n; i++){
            st = new StringTokenizer(br.readLine());
            map.put(st.nextToken(), st.nextToken());
        }

        for(int i = 0 ; i < m; i++){
            String site = br.readLine();
            System.out.println(map.get(site));
        }
    }
}

시간복잡도가 O(1)을 사용하여 찾을 수 있는 HashMap이라는 자료구조를 사용하는 것이 가장 효율적이라고 생각하여 사용했다.