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

Mark·2022년 8월 10일
0
post-thumbnail

1. 문제 설명

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

2. 제한사항

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

3. 입출력 예

nreturn
118372873211

4. 문제 접근

  • n을 문자열 형태로 변환
  • array에 변환한 형태를 담아줌
  • array에 있는 원소들을 reverse() 시켜주고 map함수를 사용해서 내림차순 정렬한 새로운 배열 만듬
  • join을 이용하여 각 원소들을 합쳐준다.

5. 문제 풀이에 필요한 개념

1) 정렬 sort()

  • [배열].sort()

2) 배열 전환 reverse()

  • [배열].reverse()

3) 형변환

let n = 123

// 숫자 -> 문자
let str = String(n)

// 문자 -> 숫자
let num = Number(str)
let num = parseInt(str)

4) 배열의 요소를 연결하여 문자열로 만듬 join()

  • [배열].join()

6. 문제 풀이

  • 내 풀이
function solution(n) {
     // n을 문자열 형태로 변환  -> 리스트에 담아주기 위함 
     let str = String(n);
     // 배열에 문자열을 담아주고 정렬시켜줌 
     let arr = Array.from(str).sort();
     // 정렬된 배열을 내림차순 시켜주고 ('')를 기준으로 조인시켜서 문자열로 반환
     let answer = arr.reverse().join('');
     // string인 answer를 정수형태로 변환시켜줌 
     let result = parseInt(answer);
     return result;
 }

문제 풀기(프로그래머스)

https://school.programmers.co.kr/learn/courses/30/lessons/12933?language=javascript


참고 자료

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join

profile
개인 공부 정리

0개의 댓글