본문 바로가기

PS

[BOJ]17219번 : 비밀번호 찾기

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

 

17219번: 비밀번호 찾기

첫째 줄에 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 비밀번호를 찾으려는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)이 주어진다. 두번째 줄부터 N개의 줄에 걸쳐 각 줄에 사이트 주소와 비밀번

www.acmicpc.net

 

 

문제의 의도는 다음과 같다.

사이트마다 저장해둔 비밀번호가 있고 , 비밀번호를 찾으려는 사이트 주소가 한 줄에 하나씩 입력됐을 때,

해당 사이트의 비밀번호를 출력한다.

=> 자료구조 HashMap을 사용하여 해결 하였다.

 

더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st = new StringTokenizer((br.readLine()));

        HashMap<String,String> hm = new HashMap<>();

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        for(int idx = 0; idx<N;idx++) {
            st = new StringTokenizer(br.readLine()," ");

            String key = st.nextToken();
            String value = st.nextToken();

            hm.put(key,value);
        }

        for(int idx = 0; idx<M;idx++) {
            String key = br.readLine();
            sb.append(hm.get(key)+"\n");
        }

        System.out.println(sb);

        br.close();
    }
}