2022년 7월 5일 내용 수정 / 추가
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
주어진 정수 n을 split("")
로 한 자리씩 끊어 배열로 만들고, sort
를 사용하여 내림차순 정렬을 하면 될 것 같았다.
👉 여기저기 부족한 과정이 너무 많았던 처음 발상.
/*
n을 배열로 만든 후,
(정수 > 문자열 > 배열의 차례를 거쳐야한다.)
sort 로 정렬을 하고 reverse로 거꾸로 정렬
(배열 > 문자열(join) > 정수(Number)의 차례를 거쳐 답안 제출)
*/
function solution(n){
let arr = []
let answer = 0;
arr = (n+'').split('');
answer = Number(arr.sort().reverse().join(''));
return answer;
}
숫자
를 문자열
로 변환split
으로 배열 만들기reverse
로 뒤집기join("")
로 다시 문자열
로 변환Number
로 숫자로 변환하여 반환메서드체인에 대해서 알아보자.
function solution(n) {
var arr = (n+"").split('');
arr.sort(function(a, b) {
return b-a;
});
var answer = Number(arr.toString().replace(/\,/g,''));
return answer;
}
arr.join([separator])
: 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다. 배열의 각 요소를 구분할 문자열을 지정합니다. 이 구분자는 필요한 경우 문자열로 변환됩니다. 생략하면 배열의 요소들이 쉼표로 구분됩니다. separator가 빈 문자열이면 모든 요소들이 사이에 아무 문자도 없이 연결됩니다.Number
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12933
참고 사이트 :
1. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join
2. https://dudmy.net/javascript/2015/11/16/javascript-sort/
3.https://gogumaguma.tistory.com/338
3.정수를 문자열로 바꾸는 방법 : https://im-designloper.tistory.com/58