출처 : 프로그래머스
사용 언어 : JavaScript
function solution(n) {
var answer = 0;
return answer;
}
function solution(n) {
var answer = 0;
let a = String(n);
let b= a.split("").map(Number);
for(let i=0; i<b.length; i++){
let tmp=[];
if(b[i]<b[i+1]){
b.splice(b[i+1], 0, b[i])
}
}
return b;
}
숫자를 문자열로 바꿔서 나눈뒤 다시 숫자로 된 배열을 만드는 것 까지는 성공한거같은데,,
sort를 사용하고 싶었지만 내림차순에서 생각이 멈춰 헤맸다.. reverse함수를 생각못해냈었다 ㅜㅜ..
function solution(n) {
var answer = 0;
let a = String(n);
let b= Number(a.split("").sort().reverse().join(''));
return b;
}
answer은 왜 안지운거지,,,ㅎㅎㅎ
살짝 검색해서 reverse를 보고 두 번 정도 시도해서 성공,,,😅
// 1)
function solution(n) {
const newN = n + "";
const newArr = newN
.split("")
.sort()
.reverse()
.join("");
return +newArr;
}
-------------------------------------------------------------------------------
// 2)
function solution(n) {
// 문자풀이
return parseInt((n+"").split("").sort().reverse().join(""));
}
-------------------------------------------------------------------------------
//3)
function solution(n) {
var r = 0, e = 0, arr = [];
do {
e = n%10;
// 정렬
if (arr.length == 0) arr.push(e);
else for (var i=0, len=arr.length; i<len; i++) {
if (arr[i] <= e) { arr.splice(i,0,e); break; }
if (i == len-1) arr.push(e);
}
} while (n = Math.floor(n/10), n>0);
return parseInt(arr.join(""));
}
코드가 짧으면 일방적으로 좋아보였는데 이 문제에서는 숫자로 계산한 코드가 실행 속도는 더 빠르다고 한다!
메소드를 적절히 잘 사용하는 것도 좋지만 속도도 고려한 코드를 짜도록하자!!