자바스크립트, 프로그래머스, 정수 내림차순으로 배치하기

난이도 :1

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


1. 문제 설명

설명

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


제한사항

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

입출력 예

n return
118372 873211

 


 


2. 문제리뷰

코드는 짧은데 사용된 메서드는 6개,,

1. String

- 정수인 n을 문자열로 바꾼다.


2. split() - string.split(separator, limit)

- 문자열을 'separator'로 잘라서, 'limit' 크기 이하의 배열에 잘라진 문자열을 저장하여 리턴한다.

- separator

  - 필수 아님

  - 문자열을 잘라 줄 구분자

  - 값이 입력되지 않으면 문자열 전체를 배열에 담아서 리턴한다.

- limit

  - 필수 아님

  - 최대 분할 갯수


3. sort()

https://moon-coding.tistory.com/63

 

[자바스크립트] sort()

const months = ['March', 'Jan', 'Feb', 'Dec']; months.sort(); console.log(months); // expected output: Array ["Dec", "Feb", "Jan", "March"] const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); // expected output: Array [1, 100000, 21,

moon-coding.tistory.com

 


4. reverse()

- 배열을 역순으로 정렬한다.


5. join()

  arr.join([separator])

- 배열을 'separator'로 구분하여, 문자열로 합친다.

var a = ['바람', '비', '불'];
var myVar1 = a.join();      // myVar1에 '바람,비,불'을 대입
var myVar2 = a.join(', ');  // myVar2에 '바람, 비, 불'을 대입
var myVar3 = a.join(' + '); // myVar3에 '바람 + 비 + 불'을 대입
var myVar4 = a.join('');    // myVar4에 '바람비불'을 대입

6. parseInt()

- 문자열을 정수로 반환한다.


3. 소스코드

function solution(n) {
    let arr = parseInt(String(n).split('').sort().reverse().join(''))
    return arr
    
}

댓글()