[프로그래머스] 정수 내림차순으로 배치하기

개발잘하기프로젝트·2020년 11월 23일
0
post-thumbnail

🤔 문제

프로그래머스 - 정수 내림차순으로 배치하기

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

❗️ 제한

n은 1이상 8000000000 이하인 자연수입니다.

💡 접근

n은 1이상의 자연수이므로 내림차순 정렬 시 앞자리에 0이 오는 경우는 없다.

sort(), reverse() 메서드를 이용해 정렬 및 순서를 뒤집어주고 각 요소를 join()메서드를 이용해 합친 뒤 +를 이용해 숫자로 타입변환하여 리턴했다.

🧑🏻‍💻 코드

function solution(n) {
  const answer = +[...`${n}`].sort().reverse().join('');
  return answer;
}

solution(1180372); // 8732110

📝 참고

MDN - Array.prototype.sort()

sort()
JavaScript의 sort() 메서드는 문자열의 유니코드 코드 포인트를 따른다. compareFunction이 제공되지 않으면 요소를 문자열로 변환하고 유니 코드 코드 포인트 순서로 문자열을 비교하여 정렬된다. 예를 들어 "바나나"는 "체리"앞에 온다. 숫자 정렬에서는 9가 80보다 앞에 오지만 숫자는 문자열로 변환되기 때문에 "80"은 유니 코드 순서에서 "9"앞에 온다.

profile
🏠 ☕️ 🎞 🌿 + 🧑🏻‍💻

0개의 댓글