1일1알

백준 1270번 전쟁-땅따먹기 C++ 본문

알고리즘

백준 1270번 전쟁-땅따먹기 C++

영춘권의달인 2022. 4. 19. 09:46

출처 : https://www.acmicpc.net/problem/1270

 

map 자료구조를 이용해 문제를 해결하였다.

unordered_map을 사용하면 시간이 조금 단축된다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>

using namespace std;
using ll = long long;

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

	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int t;
		map<ll, int> mp;
		bool isBattle = true;
		ll ans = 0;
		cin >> t;
		int half = t / 2;
		for (int j = 0; j < t; j++) {
			ll soldier;
			cin >> soldier;
			mp[soldier]++;
			if (mp[soldier] > half) {
				ans = soldier;
				isBattle = false;
			}
		}
		if (isBattle) cout << "SYJKGW";
		else cout << ans;
		cout << "\n";
	}
};