View

반응형

 

알고리즘 분류: 자료 구조, 해시를 사용한 집합과 맵

문제 링크: https://www.acmicpc.net/problem/17219

 

17219번: 비밀번호 찾기

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

www.acmicpc.net

 

 

【 풀이 】

 

C++ STL인 map 자료구조를 이용하면 쉽게 해결할 수 있다. 

map<key type, value type>m

위와 같이, key와 value를 pair 형식으로 저장하는 자료구조이다.

파이썬을 공부했다면 딕셔너리를 생각하면 되는데, 딕셔너리처럼 키를 통해 키에 해당하는 값에 접근할 수 있다.

즉 찾고자 하는 사이트 주소를 입력받고, 그 사이트 주소(키)에 해당하는 값을 출력하면 된다.

 

 

【 코드 】

 

#include<iostream>
#include<map>
using namespace std;

int main(void)
{
	cin.tie(NULL);
	ios_base::sync_with_stdio(false);

	map<string, string>info;
	string id, pw;

	int n, m;
	cin >> n >> m;

	for (int i = 0; i < n; i++)
	{
		cin >> id >> pw;
		info.insert({id, pw });
	}

	for (int i = 0; i < m; i++)
	{
		cin >> id;
		cout << info[id] << '\n';
	}

	return 0;
}

 

728x90
반응형
Share Link
reply
250x250
반응형
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31