Posts [알고리즘] 프로그래머스 - 정수 내림차순으로 배치하기
Post
Cancel

[알고리즘] 프로그래머스 - 정수 내림차순으로 배치하기


문제

정수 내림차순으로 배치하기


접근

각 자리 숫자에 대해 해시 테이블을 만들어 개수를 카운팅하면 쉽게 해결 가능하다.


코드

  • 파이썬 코드
1
2
3
4
5
6
7
8
9
10
11
def solution(n):
    cnt = [0] * 10
    answer = 0
    while n>0:
        cnt[n%10]+=1
        n//=10
    for i in range(9, -1, -1):
        while cnt[i] > 0:
            cnt[i] -= 1
            answer = answer*10 + i
    return answer
  • C++ 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <vector>

using namespace std;

long long solution(long long n) {
    int cnt[10] ={0};
    long long answer = 0;
    while(n>0){
        cnt[n%10]++;
        n/=10;
    }
    for(int i = 9; i>=0; i--){
        while(cnt[i] > 0){
            cnt[i]--;
            answer = answer*10 + (i);
        }
    }
    return answer;
}


This post is licensed under CC BY 4.0 by the author.

[알고리즘] 프로그래머스 - 핸드폰 번호 가리기

[알고리즘] 프로그래머스 - [1차] 다트 게임