공부/알고리즘&자료구조

항해99 문제24번풀이 (정수 내림차순으로 배치하기,프로그래머스)

youngble 2021. 11. 10. 18:58

https://programmers.co.kr/learn/courses/30/lessons/12933

 

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

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

programmers.co.kr

 

내가 푼식:

접근법

문제를 봤을때 메서드를 활용하면 되겠다 생각했다. 숫자를 문자열로 바꾸는 방법이 많은데 이땐 메서드 보단 순수 자바스크립트 동적 타입 특성을 이용하기로했고, 그다음부턴 split,sort,join 을 사용한후 string 상태를 toString 이 아닌 + 를 이용하여 숫자 타입으로 바꾸기로 생각했다.

코드풀이

2줄. 변수 a에 숫자타입이였던 n을 ''와 더하여주어 string 으로 만들어줌

3줄. split하여 배열로 숫자 자리숫마다 인덱스를 가지게 나누준후, sort과 화살표 함수를 이용하여 내림차순을 으로 정렬한후, 배열을 다시 join 을 이용하여 하나의 string 으로 바꾸어줌

5줄. string 이므로 우리가 원하는 number 숫자 타입으로 바꿔주기위해 출력값을 담은 a앞에 +를 붙여 +'55321' = 54321 식으로 만들어줌