상세 컨텐츠

본문 제목

정수 내림차순으로 배치하기 프로그래머스(파이썬, c++)

알고리즘/프로그래머스

by 아리따운노을 2020. 3. 30. 23:18

본문

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다

 

파이썬

1
2
def solution(n):
    return int("".join(sorted(str(n), reverse=True)))
cs

c++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string>
#include <vector>
#include <queue>
using namespace std;
 
long long solution(long long n) {
    long long answer = 0;
    priority_queue<intvector<int> ,greater<int> > pq;
    while(n)
    {
        pq.push(n%10);
        n/=10;
    }
    long long  i = 1;
    while(!pq.empty())
    {
        answer += pq.top()*i;
        pq.pop();
        i*=10;
    }
    return answer;
}
cs

c++ 눈물의 똥꼬쇼 했던거 파이썬 1줄로 커버 가능 ㅋㅋ;;

물론 속도는 c++이 훨씬 빠름

관련글 더보기

댓글 영역