본문 바로가기
프로그래밍/코딩 문제 풀이

프로그래머스 2023.06.13 (1Lv 정수 내림차순으로 배치하기)

by Rozentea 2023. 6. 19.
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제


코딩


#include <string>
#include <vector>
#include <algorithm>

using namespace std;

long long solution(long long n) {
	long long answer = 0;

	string num = to_string(n);

	sort(num.begin(), num.end(), greater<>());
	
	answer = stoll(num);

	return answer;
}

n을 string으로 전환한 이유는 n의 자릿수를 알아내기 위함이었다. (length()함수를 이용해 자릿수를 알아낸 뒤, 직접 sorting을 해주려 했다.) 하지만, 그 방법 보다 이전에 알게되었던 algorithm 라이브러리의 sort함수를 이용하면 쉽게 풀어질 것 같아 해당 방법으로 코드를 짰다.

또, 결과로 반환해야하는 타입이 string이 아닌 long long 타입이기 때문에 std::stoll()를 이용해서 long long 타입으로 전환해 주었다.

실행 결과