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 |
댓글