[BOJ] 17219 - 비밀번호 찾기 (Java)

EunBeen Noh·2024년 4월 12일

Algorithm

목록 보기
34/52

알고리즘

  • 자료 구조
  • 해시를 사용한 집합과 맵

1. 문제

2. Idea

  • 해시맵에 사이트 주소/비밀번호 저장

3. 풀이

3.1. 변수 선언 및 해시맵 생성

  • N: 저장한 입력 수
  • M: 출력할 문제 수
  • HashMap<String, String> map: 사이트 주소와 비밀번호를 저장할 해쉬맵
        int N=Integer.parseInt(st.nextToken());
        int M=Integer.parseInt(st.nextToken());
        HashMap<String, String> map=new HashMap<>();

...

3.2. 해시맵에 입력 저장

  • N번 반복
  • Key=사이트 주소, Value=비밀번호
        for(int i=0; i<N; i++){
            st=new StringTokenizer(br.readLine());
            String link=st.nextToken();
            String pw=st.nextToken();
            map.put(link, pw);
        }

3.3. 결과 출력

  • M번 반복하며 입력으로 들어온 사이트 주소에 대한 비밀번호를 결과로 출력
        for(int i=0; i<M; i++){
            System.out.println(map.get(br.readLine()));
        }

4. 전체코드

import java.util.*;
import java.io.*;
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());
        int N=Integer.parseInt(st.nextToken());
        int M=Integer.parseInt(st.nextToken());
        HashMap<String, String> map=new HashMap<>();

        for(int i=0; i<N; i++){
            st=new StringTokenizer(br.readLine());
            String link=st.nextToken();
            String pw=st.nextToken();
            map.put(link, pw);
        }
        for(int i=0; i<M; i++){
            System.out.println(map.get(br.readLine()));
        }
        
    }
}

0개의 댓글