본문 바로가기
[ 다먹살 ]/- Coding

[백준] 17219 비밀번호 찾기

by 엉망으로살기 2021. 11. 8.
반응형

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

 

17219번: 비밀번호 찾기

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

www.acmicpc.net

 

문제의 구현 방식 자체는 그냥 HashMap을 사용하면 되는 문제였다. 다만 노트 참고사항에 있는 것처럼 Scanner를 사용하면 시간초과가 틀 것 같은 느낌에 아예 처음부터 Buffer를 이용해서 구현했다. BufferReader는 썼지만 Writer는 쓰지 않고 좀 더 익숙한 StringBuilder를 사용했는데 푸는 데 문제는 없었다.

 


문제 및 입출력


예제 및 참고사항


코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Main
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        HashMap<String, String> map = new HashMap<String, String>();
        
        // n과 m 값 설정
        String[] temp = br.readLine().split(" ");
        int n = Integer.parseInt(temp[0]);
        int m = Integer.parseInt(temp[1]);
        
        // n개의 사이트와 비밀번호를 map 형태의 key-value쌍으로 값 받아오기
        for(int i=0; i<n; i++)
        {
            temp = br.readLine().split(" ");
            map.put(temp[0], temp[1]);
        }
        
        // m개의 사이트에 대한 비밀번호를 map에서 꺼내오기
        for(int i=0; i<m; i++)
        {
            String site = br.readLine();
            
            if(map.containsKey(site))
            {
                sb.append(map.get(site) + "\n");
            }
        }
        
        System.out.println(sb.toString());
        br.close();
    }
}

 

반응형

'[ 다먹살 ] > - Coding' 카테고리의 다른 글

[백준] 11403 경로 찾기  (0) 2021.11.09
[백준] 11399 ATM  (0) 2021.11.09
[백준] 11866 요세푸스 문제0  (0) 2021.11.08
[백준] 11050 이항계수1  (0) 2021.11.07
[백준] 10816 숫자 카드2  (0) 2021.11.05

댓글