끄적끄적 코딩
article thumbnail
Published 2019. 9. 16. 12:00
[C++] 백준 11652번 카드 알고리즘

정렬문제입니다.

정렬한 후에 같은 수를 카운트해서 카운트가 가장 큰 수를 출력했습니다.

 

#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;

int main(int argc, char* argv[])
{
	int n;
	long long x;
	long long num;
	int count = 0;
	long long manyNum;
	int manyNumCount = 0;
	vector<long long> v;

	scanf("%d", &n);

	for (int i = 0; i < n; ++i) {
		scanf("%lld", &x);
		v.push_back(x);
	}
	
	sort(v.begin(), v.end());

	num = v[0];
	manyNum = v[0];
	for (int i = 1; i < n; ++i) {
		if (num == v[i]) {
			++count;
		}
		else {
			num = v[i];
			count = 0;
		}

		if (count > manyNumCount) {
			manyNumCount = count;
			manyNum = num;
		}
	}

	printf("%lld\n", manyNum);

	return 0;
}

'알고리즘' 카테고리의 다른 글

[C++] 백준 2959번 거북이  (0) 2019.09.17
[C++] 백준 5052번 전화번호 목록  (0) 2019.09.16
[C++] 백준 3047번 ABC  (0) 2019.09.16
[C++] 백준 10825번 국영수  (0) 2019.09.16
[C++] 백준 11004번 K번째 수  (0) 2019.09.15

검색 태그