반응형
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
vector <long long> v;
cin >> n;
for (int i = 0; i < n; i++) {
string num;
string sv;
cin >> num;
long long size = num.length();
while(size--){
sv += num[size];
}
long long digitNumber = stoll(sv);
v.push_back(digitNumber);
}
sort(v.begin(), v.end());
for (int i = 0; i < n; i++) {
cout << v[i] << '\n';
}
}
# Tip
입력하는 수가 10¹² 이상은 안된다고 나와있다.
즉, 수가 최대 21억인 int로는 수를 담을 수 없다는 것. 그 이상인 long long을 써야한다.
나는 string의 길이를 담아 뒤 부터 새로운 string에 담아 long long으로 변환하는 stoll을 써서 push_back을 했다.
아래는 reverse 함수를 써서 풀이를 더 간단히 했다.
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
vector <string> v;
vector <long long> solve;
cin >> n;
for (int i = 0; i < n; i++) {
string num;
cin >> num;
v.push_back(num);
reverse(v[i].begin(), v[i].end());
long long digitNumber = stoll(v[i]);
solve.push_back(digitNumber);
}
sort(solve.begin(), solve.end());
for (int i = 0; i < n; i++) {
cout << solve[i] << '\n';
}
}반응형
'Algorithm > BOJ [C++]' 카테고리의 다른 글
| [BOJ] 2941. 크로아티아 알파벳 - C++ (0) | 2025.08.09 |
|---|---|
| [BOJ] 15651. N과 M (3) - C++ (0) | 2025.08.02 |
| [BOJ] 10989. 수 정렬하기 3 - C++ (0) | 2025.07.26 |
| [BOJ] 1431. 시리얼 번호 - C++ (0) | 2025.07.25 |
| [BOJ] 11728. 배열합치기 - C++ (0) | 2025.07.15 |