문제: 5648번: 역원소 정렬
basic-algo-lecture/workbook/0x0F.md at master · encrypted-def/basic-algo-lecture
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <queue>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
vector<long long> nums;
for (int i = 0; i < n; i++) {
string num;
cin >> num;
long long tmp = 0; // 거꾸로 뒤집은 수
int cnt = num.size();
long long intNum = stoll(num);
while (intNum > 0) {
int n = intNum % 10;
tmp += n * pow(10, cnt - 1);
cnt--;
intNum /= 10; // 갱신
}
nums.push_back(tmp);
}
sort(nums.begin(), nums.end());
for (int i = 0; i < n; i++) {
cout << nums[i] << "\n";
}
return 0;
}
입력받은 수를 뒤집어준다. 그 다음에는 vector 를 정렬해주면 된다.