728x90
반응형
https://www.acmicpc.net/problem/5648
문제
모든 원소가 양의 정수인 집합이 있을 때, 원소를 거꾸로 뒤집고 그 원소를 오름차순으로 정렬하는 프로그램을 작성하세요.
단, 원소를 뒤집었을 때 0이 앞에 선행되는 경우는 0을 생략해야합니다.
입력
첫 번째로 입력되는 건 n (1 ≤ n ≤ 10^6)으로 사용자가 뒤이어 입력할 원소값을 결정합니다. 입력하는 줄에는 하나의 원소값 뿐만 아니라 여러 원소값도 들어갈 수 있습니다.
단, 입력하는 정수는 10^12을 넘어선 안 됩니다.
출력
출력문은 위 문제 내용에 나와있는 정렬방법으로 정렬하여 아래 예제 출력을 참고하여 출력하세요.
입력받은 수를 역순으로 뒤짚고, 그 원소들의 오름차순 정렬을 출력하는 문제
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#define INF 987654321
using namespace std;
typedef long long ll;
// BOJ :: https://www.acmicpc.net/problem/5648
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n; cin >> n;
vector<string> v(n);
vector<ll> Answer;
for (int i = 0; i < n; i++) {
cin >> v[i];
reverse(v[i].begin(), v[i].end());
cout << "-> " << (v[i]) << '\n';
Answer.push_back(stoll (v[i]));
}
sort(Answer.begin(), Answer.end());
for (int i = 0; i < n; i++) cout << Answer[i] << '\n';
return 0;
}
1. string변수 vector를 입력받고,
2. 그 문자열을 reverse함수를 통해 뒤짚는다.
3. string 헤더파일에 존재하는 stoll로 long long형태 변수로 형변환 해준다. 이렇게 형변환시켜주면 알아서 앞에 있는 0은 제거된다.
4. 이렇게 형변환 된 수를 long long변수 Answer vector에 넣어주고
5. sort함수로 Answer 벡터를 정렬해주면 답이 된다.
728x90
반응형
'BOJ > 정렬' 카테고리의 다른 글
[C/C++] 백준 - 2910번 : 빈도 정렬 (0) | 2021.07.31 |
---|---|
[C/C++] 백준 - 7795번 : 먹을 것인가 먹힐 것인가 (0) | 2021.07.31 |
[C/C++] 백준 - 15688번 : 수 정렬하기 5 (0) | 2021.07.31 |
[C/C++] 백준 - 10825번 : 국영수 (0) | 2021.07.18 |
[C/C++] 백준 - 1431번 (시리얼 번호) (0) | 2021.06.27 |