본문 바로가기
알고리즘/프로그래머스 문제-JS

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

by sweesweet 2022. 5. 23.

https://programmers.co.kr/learn/courses/30/lessons/12933?language=javascript 

 

코딩테스트 연습 - 정수 내림차순으로 배치하기

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

programmers.co.kr

간단한 문제지만 이 문제를 고차함수를 배운 후 고차함수를 이용해 다시 풀어보았다 

1.

function solution(n) {
return Number(Array.from(String(n))
                    .sort()
                    .reverse()
                    .join(''))
}

sort가 callback함수를 인자로 받을 수 있다는 점을 알기 전에 작성한 코드이다

2.

function solution(n) {
return Number(Array.from(String(n))
                    .sort((a,b)=>b-a)// 내림차순정렬
                    .join(''))//배열을 문자열로 만들기
                    
}

3.

function solution(n) {
return Number(Array.from(String(n))
                    .sort((a,b)=>b-a)//내림차순 정렬
                    .reduce((sum,num)=>sum+=num))//reduce를 이용해 하나하나 더하기
}

이건 reduce를 사용해보고싶어서 욱여넣은거나 마찬가지이기 떄문에..빠를지는 모르겠다