문제 풀이/Programmers 문제 풀이
[Programmers 알고리즘, C++]#Level1_정수 내림차순 정렬
Hardii2
2022. 9. 25. 19:03
[Programmers 알고리즘, C++]#Level 1_정수 내림차순 정렬
Programmers 알고리즘 문제 풀이, Level 1_정수 내림차순 정렬
char <-> int 간 변환과 string <-> 정수 간 변환을 활용하여 풀이하는 문제입니다.
문제
풀이
// 1. char to int = -'0'
// 2. int to char = +'0'
// 3. stoi, stol, stof, stod 활용
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
long long solution(long long n) {
long long answer = 0;
vector<long long> v;
string str = to_string(n);
for(int i=0; i<str.size(); i++)
{
v.push_back(str[i]-'0');
}
str.clear();
sort(begin(v), end(v), greater<>());
for(int i=0; i<v.size(); i++)
str += (v[i]+'0');
answer = stol(str);
return answer;
}
1. char - '0'
char -> int 변환을 위해 - '0' 해줍니다.
2. int + '0'
int -> char 변환을 위해 + '0' 해줍니다.
3. stol
string -> long 변환을위해 stol 해줍니다.