배운것
stable sort 사용 + bool check 사용
정답 코드
#include <bits/stdc++.h>
using namespace std;
#define X first
#define Y second
bool cmp(const pair<int, int> &a, const pair<int, int> &b) {
return a.first>b.first;
}
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
int n, c;
cin >> n >> c;
vector<pair<int, int>> arr; // pair : {cnt, num}
for(int i=0;i<n;i++)
{
int num;
cin>>num;
bool ck=false;
for(auto &i : arr)
{
if(i.second==num)
{
ck=true;
i.first++;
break;
}
}
if(!ck)arr.push_back({1,num});
}
stable_sort(arr.begin(), arr.end(), cmp);
for (auto b : arr)
while (b.first--) cout << b.second << ' ';
}
'Algorithm > C++' 카테고리의 다른 글
[넥토리얼 2기] 코테 4시간 (0) | 2022.10.07 |
---|---|
[백준 11659] 구간 합 구하기 4 (0) | 2022.10.05 |
[백준 7795] 먹을 것인가 먹힐 것인가 (0) | 2022.10.04 |
[백준 11656] 접미사 배열 (0) | 2022.10.04 |
[백준 10814] 나이순 정렬 (0) | 2022.10.04 |
댓글