[TIL #14] 정수 내림차순으로 배치하기

2024. 7. 4. 14:32·Camp/T.I.L.

어떤 정수 $n$을 받으면 그 정수를 구성하는 숫자들을 내림차순으로 재배열하는 문제.

 

난 이전에 했던 자연수 배열을 만들 때 썻던 풀이를 써먹기로 했다.

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

using namespace std;

long long solution(long long n) {
    vector<int> v;
    string concatStr;
    
    while (n > 0) {
        v.push_back(n % 10);
        n /= 10;
    }
    
    sort(v.rbegin(), v.rend());
    for (int num : v) {
        concatStr += to_string(num);
    }
    
    return stoll(concatStr);
}

모듈러를 반복해 각 수를 뽑아 벡터에 넣었다.

내림차순 정렬이기 때문에 역순으로 정렬하고,

스트링에 하나씩 붙여 나갔다.

그리고 ``stoll()''을 통해 ``long long''으로 변환하고 마무리.

 

결과는 나왔지만 "더 간결하게 할 수 없을까?"라는 의문은 여전히 있었다.

아무리 생각해도 떠오르지 않아서 다른 사람들은 어떻게 했는지 보기로 했다.

 

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

    string str = to_string(n);
    sort(str.begin(), str.end(), greater<char>());
    answer = stoll(str);

    return answer;
}

한 대 얻어맞은 느낌.

왜 문자열을 정렬할 생각을 못했을까?

숫자라는 것에만 집중해 문자열을 어떻게 해보겠단 발상 자체를 못했다.

좋은 자극이 됐다.

'Camp > T.I.L.' 카테고리의 다른 글

[TIL #16] 없는 숫자 더하기  (0) 2024.07.10
[TIL #15] 콜라츠 추측  (0) 2024.07.09
[TIL #13] 정수 제곱근 판별  (0) 2024.07.03
[TIL #12] 무조건적 서브쿼리를 지양하고 싶다  (0) 2024.07.02
[TIL #11] 나머지가 1이 되는 수 찾기  (0) 2024.07.01
'Camp/T.I.L.' 카테고리의 다른 글
  • [TIL #16] 없는 숫자 더하기
  • [TIL #15] 콜라츠 추측
  • [TIL #13] 정수 제곱근 판별
  • [TIL #12] 무조건적 서브쿼리를 지양하고 싶다
BVM
BVM
  • BVM
    E:\
    BVM
  • 전체
    오늘
    어제
    • 분류 전체보기 (168)
      • Thoughts (14)
      • Study (69)
        • Japanese (3)
        • C++ & C# (46)
        • Javascript (3)
        • Python (14)
        • Others (3)
      • Play (1)
        • Battlefield (1)
      • Others (11)
      • Camp (73)
        • T.I.L. (57)
        • Temp (1)
        • Standard (10)
        • Challenge (3)
        • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 본 블로그 개설의 목적
  • 인기 글

  • 태그

    JS
    네트워크
    discord
    네트워크 프로그래밍
    IOCP
    boost
    OSI
    베데스다
    c#
    Selenium
    암호화
    포인터
    Asio
    cloudtype
    7계층
    db
    Dalamud
    스타필드
    docker
    discord py
    FF14
    클라우드
    Python
    로깅
    Server
    Network
    서버
    bot
    프로그래머스
    C++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
BVM
[TIL #14] 정수 내림차순으로 배치하기
상단으로

티스토리툴바