문제설명
함수 solution은 정수 n을 매개변수로 입력 받습니다. n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴하세요. 예를 들어 n이 118372라면, 873211을 리턴하면 됩니다.
제한사항
- n은 1이상 8000000000 이하인 자연수입니다.
내가 푼 문제 풀이
function solution(n) {
return parseInt(n.toString().split("").sort((a, b) => {return b-a}).join(""))
}
1) n.toString() : 숫자를 문자열로 변환 해주는 함수
2) split("") : 문자열을 한글자씩 잘라서 배열에 담아주는 함수
3) sort((a,b)=>{return b-a}) : 내림차순 해주는 함수
4) join("") : 배열의 모든 요소를 연결해서 하나의 문자열로 만든다.
5) parseInt() : 문자열을 숫자로 변환 해주는 함수
function solution(n) {
return parseInt(n.toString().split("").sort().reverse().join(""))
}
+ reverse() 함수를 사용하면 배열을 뒤집을 수 있다.
(내림차순을 할 때 활용 하려면 배열을 오름차순으로 정렬 한 뒤 reverse 함수를 사용하여 뒤집어야 한다.)
배열을 거꾸로 뒤집는 방법
https://hianna.tistory.com/448
배열을 문자열로 만들 때 쓸 수 있는 방법
https://hianna.tistory.com/381
https://programmers.co.kr/learn/courses/30/lessons/12933
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
3일차 → 문자열 다루기 기본(parseInt()) (0) | 2021.11.10 |
---|---|
3일차 → 자연수 뒤집어 배열로 만들기(toString(), split(), reverse(), map()) (0) | 2021.11.10 |
3일차 → 완주하지 못한 선수(sort(), find()) (0) | 2021.11.10 |
2일차 → 2016년(Date 생성자 함수, toString()) (0) | 2021.11.09 |
2일차 → 내적(forEach(), reduce()) (0) | 2021.11.09 |
댓글