Algorithm

Algorithm :: 프로그래머스 문제풀기 -13

hooti 2021. 1. 17. 17:01

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

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

 

제한사항 : n은 1이상 8000000000 이하인 자연수입니다.

 

 


 

 

오랜만에 알고리즘 문제를 푸니깐 머리가 굳어서 생각했던 코드를 작성하는데 시간이 조금 걸렸다...😂 아무리 바빠도 뭐든지 꾸준히 해야할것같다ㅎ... 풀이내용은 아래와 같다.

 

1. n을 배열로 변환하여 내림차순으로 정렬하기

2. 정렬한 값을 다시 문자열 -> 숫자로 변환하여 반환한다.

 

function solution(n) {
    let answer = String(n).split('').sort(function(a, b) { 
    return b - a;}).join('');
    
    return Number(answer);
}

 

 

 

 


 

 

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

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

 

제한사항 : n은 1이상 8000000000 이하인 자연수입니다.

 

 


 

 

회사에서 백엔드업무도 하게 되서... 파이썬에 익숙해지기 위해 파이썬 문제도 함께 풀기로 하였다. 방법은 JS와 비슷한데 sort revers를 이용하여 풀었다.

 

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

 

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges