https://programmers.co.kr/learn/courses/30/lessons/12933
코딩테스트 연습 - 정수 내림차순으로 배치하기
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이��
programmers.co.kr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <string>
#include <vector>
using namespace std;
long long solution(long long n)
{
string strNum;
strNum = to_string(n);
for (int i = 0; i < strNum.size(); i++)
{
for (int j = i + 1; j < strNum.size(); j++)
{
if (strNum[i] < strNum[j])
{
char temp = strNum[j];
strNum[j] = strNum[i];
strNum[i] = temp;
}
}
}
long answer = stoull(strNum);
return answer;
}
|
이중 for문 대신 sort(strNum.begin(),strNum.end(),greater<char>()) 를 사용해도 된다.
'프로그래머스 - 내 풀이 > 프로그래머스 Lv1' 카테고리의 다른 글
프로그래머스 / 연습문제 / 제일 작은 수 제거하기 (0) | 2020.05.21 |
---|---|
프로그래머스 / 연습문제 / 정수 제곱근 판별 (0) | 2020.05.21 |
프로그래머스 / 연습문제 / 자연수 뒤집어 배열로 만들기 (0) | 2020.05.20 |
프로그래머스 / 연습문제 / 하샤드 수 (0) | 2020.05.12 |
프로그래머스 / 연습문제 / 콜라츠 추측 (0) | 2020.05.08 |