[프로그래머스] Lv.1 정수 내림차순으로 배치하기 (JS)

아름·2023년 11월 16일
0

알고리즘

목록 보기
7/26

🔎 문제

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

입출력 예


🔓 풀이 과정

고민

1) 숫자 n을 문자열로 바꾸기 -> String 사용
2) split 사용하여 빈 문자열("") 기준으로 배열 만들어주기
3) sort로 내림차순 정렬하기
4) join으로 배열의 원소를 문자열로 합치기
5) 마지막으로 문자열을 숫자로 변환하기 -> 앞에 부호(+) 추가해줌

나의 풀이

function solution(n) {
  return +(String(n)
    .split("")
    .sort((a, b) => b - a)
    .join(""));
}

그 밖의 풀이

function solution(n) {
    // 문자풀이
    return parseInt((n+"").split("").sort().reverse().join(""));
}
// n에 빈 문자열("")을 추가하면 숫자를 문자열로 자동 인식함
// sort의 기본은 오름차순이고 (한자리라서 sort 내부에 별도 함수 필요없음)
// reverse로 역순으로 재배열함
profile
내 꿈은 개발자

0개의 댓글