โ 1427 ์ํธ์ธ์ฌ์ด๋ โ
//1427
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string N;
cin >> N;
sort(N.begin(), N.end(), greater<char>());
cout << N;
return 0;
}
๐ ๋ด๋ฆผ์ฐจ์์ sort()์ ์ธ๋ฒ์งธ ์ธ์์ greater<>๋ฅผ ๋ฃ๋๋ค. ์ด ๋, ๋ฌธ์์ด์ ๊ฐ ๋ฌธ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค๋ฉด greater<char>. ๋ง์ฝ์ intํ ๋ณ์๊ฐ ๋ค์ด๊ฐ array๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ค๋ฉด greater<int>๋ฅผ sort()์ ์ธ๋ฒ์งธ ์ธ์๋ก ๋ฃ๋๋ค.
โ 11650 ์ขํ ์ ๋ ฌํ๊ธฐ โ
//11650
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
bool compare(pair<int,int> a, pair<int,int> b){
if(a.first == b.first){
return a.second < b.second;
}
else{
return a.first < b.first;
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, x, y;
cin >> N;
int tmp = N;
vector<pair<int,int>> v;
while(tmp--){
cin >> x >> y;
v.push_back({x, y});
}
sort(v.begin(),v.end(),compare);
for(int i = 0; i < N; i++){
cout << v[i].first << ' ' << v[i].second << '\n';
}
return 0;
}
๐ ๋ int๋ฅผ ๋์์ ์ ์ฅํ ์ ์๋ vector<pair<int,int>> v ์์ฑ. v.push_back({x.y})๋ก ๋ ์ ๋ณด ๋์์ ๋ฃ์ ๋ค, sorting.
๐ sorting ์งํ ์ ์ธ๋ฒ์งธ ์ธ์ bool ํจ์ compare ๋ณ๋ ํ์ฉ. compare() ํจ์์์ ๋ a์ b๊ฐ ๊ฐ๋ค๋ฉด a.second < b.second๋ก second ์ค๋ฆ์ฐจ์ / ์๋ก ๋ค๋ฅด๋ค๋ฉด a.first < b.first๋ก first ์ค๋ฆ์ฐจ์. ์ฆ, compare๋ก ์ง์ sorting ์ฌ์ฉ์ ์ง์ ๊ฐ๋ฅ
โ 11651 ์ขํ ์ ๋ ฌํ๊ธฐ 2 โ
//11651
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
bool compare(pair<int,int> a, pair<int,int> b){
if (a.second == b.second){
return a.first < b.first;
}
else{
return a.second < b.second;
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, tmp, x, y;
vector<pair<int,int>> v;
cin >> N;
tmp = N;
while(tmp--){
cin >> x >> y;
v.push_back({x,y});
}
sort(v.begin(),v.end(),compare);
for(int a = 0; a < v.size(); a++){
cout << v[a].first << ' ' << v[a].second << '\n';
}
return 0;
}
๐ y์ขํ ๋จผ์ ์ด๋ฏ๋ก bool compare()์ ๋ด์ฉ๋ง ๋ฐ๊พธ๋ฉด ๋
โ 1181 ๋จ์ด ์ ๋ ฌ โ
//1181
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
bool compare(string x, string y){
if (x.length() == y.length()){
return x < y;
}
else{
return x.length() < y.length();
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N,tmp,i=0;
string str[20000];
cin >> N;
tmp = N;
while(tmp--){
cin >> str[i];
i+=1;
}
sort(str,str+N,compare);
for(int i = 0; i < N; i++){
if(str[i] == str[i-1]){
continue;
}
cout << str[i] << '\n';
}
return 0;
}
๐ compare() ํจ์๋ก length ๋์ผ ์ x<y๋ก ์ฌ์ ์ ์ ๋ ฌ. ๋์ผํ์ง ์๋ค๋ฉด ๊ธธ์ด๊ฐ ์งง์ ๊ฒ๋ถํฐ ์ ๋ ฌ์ด๋ฏ๋ก x.length() < y.length() ์ฌ์ ์ค์
๐ string ๋ฌธ์์ด ๋ฐฐ์ด ๋ฏธ๋ฆฌ ์ ์ธํ ๋ค, sort(str, str + N, compare)๋ก string ๋ฐฐ์ด ๋งจ ์ผ์ชฝ๋ถํฐ N๊ฐ์ ๋จ์ด๊น์ง compare
๐ ์ด ๋ ์ค๋ณต์ ํ ๋ฒ๋ง ์ถ๋ ฅ์ด๋ฏ๋ก (str[i] == str[i-1]) ์ผ๋ continue
โ 10814 ๋์ด์ ์ ๋ ฌ โ
//10814
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
bool compare(pair<int, string> a, pair<int, string> b){
return a.first < b.first;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N,tmp,age;
string name;
vector<pair<int,string>> v;
cin >> N;
tmp = N;
while(tmp--){
cin >> age >> name;
v.push_back({age, name});
}
stable_sort(v.begin(), v.end(), compare);
for(int x = 0; x < N; x++){
cout << v[x].first << ' ' << v[x].second << '\n';
}
return 0;
}
๐ push_backํ ์์๋๋ก ๊ทธ ์์ ๊ทธ๋๋ก ์์ ์ ์ด๊ฒ ์ ๋ ฌ์ ํ๊ธฐ ์ํด sort()๊ฐ ์๋ stable_sort()๋ฅผ ์ฌ์ฉํ๋ค.(๋์ด๊ฐ ๊ฐ์ผ๋ฉด ๋จผ์ ๊ฐ์ ํ ์ฌ๋์ด ์์ ์ค๋ ์์๋ก ์ ๋ ฌ์ด๋ผ ํ์์ผ๋ฏ๋ก ์์ ์ ์ง๋ฅผ ์ํด stable_sort())
'C, C++ > ๐ฅ BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(C++) โ Stack & Queue & Deque Intermediate I - 4 Solvedโ (0) | 2024.11.15 |
---|---|
(C++) โ Number Theory Intermediate I - 2 Solvedโ (0) | 2024.11.15 |
(C++) โ Set/Map Intermediate I - 5 Solvedโ (2) | 2024.11.14 |
(C++)โ BF Intermediate I - 1 Solvedโ (0) | 2024.11.14 |
(C++) โ Implementation&Simulation Intermediate I - 2 Solvedโ (0) | 2024.11.14 |
๋๊ธ