본문 바로가기
개발 노트/백준, 프로그래머스 풀이

[백준 10815/c++] 숫자 카드

by tokkiC 2022. 7. 15.

맵을 사용하여 해시 카운트를 사용, 큰 수 이므로 숫자가 아닌 문자열의 형태로 넣어 비교하는 문제였다

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

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	
	int n, m;
	string s;
	unordered_map<string, int> mapi;
	
	cin >> n;
	for (int i = 0; i < n; i++)
	{
		cin >> s;
		mapi[s]++;	
	}
	cin >> m;
	cin >> s;
	if(mapi[s] == 0)
	{
		cout << 0;
	}
	else
	{
		cout << 1;
	}
	for (int i = 1; i < m; i++)
	{
		cin >> s;
		if(mapi[s] == 0)
		{
			cout << " " << 0;
		}
		else
		{
			cout << " " << 1;
		}
	}
	return 0;
}

댓글