programmers 코딩테스트 : 정수 내림차순으로 배치하기

H·2022년 5월 9일
0

Coding Test

목록 보기
12/26

🔔 정수 내림차순으로 배치하기

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

⛔ 제한 조건
n은 1이상 8000000000 이하인 자연수입니다.


🔠 통과한 코드

function solution(n) {
  let answer = 0;
  const sortArray = Array.from(String(n)).sort((a, b) => b - a);
  answer = parseInt(sortArray.join(""));
  return answer;
}

📌 코드 설명

  1. 숫자 > 배열로 변환 하면서 sort() 정렬
    📍 Array.from()
    📍 string(n)
    📍 sort()
  2. 해당 배열을 문자열로 join()
  3. 문자열을 숫자로 parseInt();

📌Array.from() : 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다.

📌 sort() : 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환
📍 기본 정렬 순서는 유니코드 코드 포인트를 따릅니다.
📍 sort(a,b) 일 때 0보다 작은 경우 a 우선
📍 sort(a,b) 일 때 0을 리턴하는 경우 a,b를 서로 변경 X, 다른 요소를 정렬함
📍 sort(a,b) 일 때 0보다 큰 경우 b를 우선
📍 기본: 오름 차순 , => a - b
내림차순으로 정렬을 내림 차순으로 정렬하고 싶을 때는 b - a

📌 join() : join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만듭니다.
📍 배열의 각 요소를 구분할 문자열을 지정합니다. 이 구분자는 필요한 경우 문자열로 변환됩니다. 생략하면 배열의 요소들이 쉼표로 구분됩니다. separator가 빈 문자열이면 모든 요소들이 사이에 아무 문자도 없이 연결됩니다.

📌 parseInt() : 함수는 문자열 인자를 파싱하여 특정 진수(수의 진법 체계에서 기준이 되는 값)의 정수를 반환합니다.


🍀 피드백

function solution(n) {
  return parseInt(String(n).split("").sort().reverse().join(""));
}

설명이 필요 없지...gg 리버스로 돌리면 한번에 다 돌아가는건데 아쉽다.

📌 reverse() : 메서드는 배열의 순서를 반전합니다. 첫 번째 요소는 마지막 요소가 되며 마지막 요소는 첫 번째 요소가 됩니다.

profile
🤘 돌머리도 ROCK이다! 🤘

0개의 댓글