https://www.acmicpc.net/problem/2910
๋ฌธ์
์๋ํ ํด์ปค ์ฐฝ์์ด๋ ๋ชจ๋ ์ํธ๋ฅผ ๊นจ๋ ๋ฐฉ๋ฒ์ ๋ฐ๊ฒฌํ๋ค. ๊ทธ ๋ฐฉ๋ฒ์ ๋น๋๋ฅผ ์กฐ์ฌํ๋ ๊ฒ์ด๋ค.
์ฐฝ์์ด๋ ๋งํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ด์ฉํด์ ํ์ฐ๊ฐ ๊ฐ์ฐ์ด์๊ฒ ๋ณด๋ด๋ ๋ฉ์์ง๋ฅผ ํ๋ํ๋ค. ์ด ๋ฉ์์ง๋ ์ซ์ N๊ฐ๋ก ์ด๋ฃจ์ด์ง ์์ด์ด๊ณ , ์ซ์๋ ๋ชจ๋ C๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ์ฐฝ์์ด๋ ์ด ์ซ์๋ฅผ ์์ฃผ ๋ฑ์ฅํ๋ ๋น๋์๋๋ก ์ ๋ ฌํ๋ ค๊ณ ํ๋ค.
๋ง์ฝ, ์์ด์ ๋ ์ X์ Y๊ฐ ์์ ๋, X๊ฐ Y๋ณด๋ค ์์ด์์ ๋ง์ด ๋ฑ์ฅํ๋ ๊ฒฝ์ฐ์๋ X๊ฐ Y๋ณด๋ค ์์ ์์ด์ผ ํ๋ค. ๋ง์ฝ, ๋ฑ์ฅํ๋ ํ์๊ฐ ๊ฐ๋ค๋ฉด, ๋จผ์ ๋์จ ๊ฒ์ด ์์ ์์ด์ผ ํ๋ค.
์ด๋ ๊ฒ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋น๋ ์ ๋ ฌ์ด๋ผ๊ณ ํ๋ค.
์์ด์ด ์ฃผ์ด์ก์ ๋, ๋น๋ ์ ๋ ฌ์ ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฉ์์ง์ ๊ธธ์ด N๊ณผ C๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000)
๋์งธ ์ค์ ๋ฉ์์ง ์์ด์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์ด์ ๋น๋ ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ค.
ํ์ด
์ ๋ ฌ์ ์์๋ฅผ ์๊ฐํ์ฌ cmp ํจ์๋ฅผ ๋ง๋ ๋ค
1์์ - ๋น๋์ ๋ด๋ฆผ์ฐจ์
2์์ - ์์ ์ค๋ฆ์ฐจ์
map์ ๋๊ฐ๋ฅผ ๋ง๋ค์ด์ ๊ฐ ํค ๊ฐ์ ํด๋นํ๋ ๋น๋์์ ์์๋ฅผ ๋ฃ์ด ๊ด๋ฆฌํด์คฌ๋ค.
sort ๋ฐฐ์ด์ ์ด์ฉํ๊ธฐ ์ํด vector<pair<int,int>> ๋ฅผ ์ด์ฉํ๊ณ ,
(first=๊ฐ, second=๋น๋์๋๋์์)
๋น๋์๋ฅผ ๋จผ์ ๋น๊ต ํ ๋ค, ์์๋ฅผ ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก cmp ํจ์๋ฅผ ๊ตฌํํ๋ค.
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
typedef pair<int, int> ci;
map<int, int> freq; // freq[a] = a๊ฐ ๋์จ ๋น๋ ์
map<int, int> order; // order[a] = a๊ฐ ์ฒ์ ๋์จ ์๋ฒ
bool cmp(ci a, ci b) {
if(a.second != b.second) {
return a.second > b.second;
}
return order[a.first] < order[b.first];
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n, c;
cin >> n >> c;
int input;
for(int i=0; i<n; i++) {
cin >> input;
if(!freq[input])
order[input] = i;
freq[input]++;
}
vector<ci> ans (freq.begin(), freq.end());
sort(ans.begin(), ans.end(), cmp);
for(int i=0; i<ans.size(); i++) {
while(ans[i].second) {
cout << ans[i].first << " ";
ans[i].second--;
}
}
return 0;
}
/*
*/
'๐๏ธ ICPC Sinchon > Linear Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 20301๋ฒ: ๋ฐ์ ์์ธํธ์ค (0) | 2023.04.08 |
---|---|
[BOJ S4][C++] ๋ฐฑ์ค 14911๋ฒ: ๊ถํฉ ์ ์ฐพ๊ธฐ (0) | 2022.12.30 |
[BOJ S1][C++] ๋ฐฑ์ค 4889๋ฒ : ์์ ์ ์ธ ๋ฌธ์์ด (0) | 2022.09.14 |
[BOJ S3][C++] ๋ฐฑ์ค 18115๋ฒ : ์นด๋ ๋๊ธฐ (0) | 2022.09.12 |
[BOJ S5][C++] ๋ฐฑ์ค 11866๋ฒ : ์์ธํธ์ค ๋ฌธ์ 0 (0) | 2022.09.12 |