본문 바로가기

Dev/Algorithm

알고리즘 문제 | 프로그래머스 | JS - 정수 내림차순으로 배치하기

반응형

 

풀이

function solution(n) {
    var answer = 0;
    n = n + '';
    n = n.split('').sort((a,b) => b-a);
    n = n.join();

    for(var i=0; i<n.length; i++) {
        n = n.replace(',', '')
    }

    answer = parseInt(n);
    
    console.log(answer)
    return answer;
}

처음 받은 숫자를 배열없이 내림차순으로 변경하는 방법이 있을지는 모르겠지만 지금은 아는게 없으므로

문자열로 변경 후 배열로 만들어준다!

sort로 정렬 후 join으로 콤마(,)를 지워준다.

 

근데 하나만 지워지네? 반복 ㄱㄱ

 

다 지워졌지만 여전히 문자열이니 정수로 변환!

끝!

 

다른사람 풀이

function solution(n) {
  const newN = n + "";
  const newArr = newN
    .split("")
    .sort()
    .reverse()
    .join("");

  return +newArr;
}

오우 .. 문자열로 변경 후 배열로 만들고 정렬한 후 reverse ... reverse가 있었군 ;;

마지막엔 +를 통해서 숫자로 변경까지 깔끔 ;

 

역시나 이것도 JS니까 가능한 코드이니 그냥 참고만 하도록 하자!

반응형