알고리즘

프로그래머스 Level 1 - 정수 내림차순으로 배치하기 (Javascript)

또롱또 2022. 5. 15. 13:52
728x90

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

function solution(n) {
    var answer = 0;
    // 빈 변수 생성
    let arr = [];
    let str = "";
    
    // 받아온 숫자를 문자열로 형변환
    str = n.toString();
    
    // 문자열 길이만큼 for 문 돌면서 배열에 넣기
    for(let i=0; i<str.length; ++i){
        arr.push(str[i]);
    }
    
    // 정렬
    arr.sort((a,b)=>(b-a))
    
    // 배열을 문자열로
    str = arr.join('')
    
    // 문자열을 숫자로
    answer = Number(str)
    
    // 정답
    return answer;
}

그냥 단순하게 한줄한줄 풀어냈다.

정답코드는 배열에 제공되는 함수들을 적절하게 잘 이용했다.

해석은 아래에 주석으로 남기겠다.

function solution(n) {
  // 받아온 숫자를 문자열로 변환
  const newN = n + "";
  const newArr = newN
   // split을 이용해서 앞부분을 배열로 만들었다 // ['1234567']
    .split("")
    .sort() // 평범한 정렬
    .reverse() // 반대로
    .join(""); // 문자열로 변경

	//숫자열로 변경시킬때 앞에 사칙연산을 붙여서 숫자로 인식되게 만들었다.
  return +newArr;
}

 

728x90