코딩테스트

[프로그래머스 코딩테스트] 자연수 뒤집어 배열로 만들기

이경욱 2023. 11. 17. 19:39

1. 문제

자연수 n 을 뒤집어

각 자리 숫자를 원소로 가지는

배열 형태로 리턴해주세요.

예를들어 n이 12345면 [5, 4, 3, 2, 1]을 리턴합니다.

 

 


2. 풀이

const solution = (n) =>
    Array
    .from ({length : String(n).length}, (_, i) => i)
    .sort((a, b) => b - a)
    .map((value) => Number(String(n)[value]))

 

Array.from을 사용해서 n의 길이만큼

인덱스가 나열된 배열을 하나 뽑은 다음

내림차순으로 정렬했다.

 

그리고 map 함수로 n을 문자열로 바꿔

인덱싱을 가능하게 해주었고

위 배열을 인덱스 값에 넣어

마지막 순서대로 배열이 나오게 만들었다.

 

 


3. 해설

function solution2 (n) {
    return (n+'').split('').reverse().map(n => parseInt(n));    
}

 

 

- 오늘 배운점

1. (n+'')를 하면 문자열로 바뀌게 된다.

 

2. split에 ('') 를 추가하면 문자열 인덱스마다 나눠주게 된다.

 

3. reverse() 를 쓰면 배열을 거꾸로 뒤집어준다.

 

새로운 메서드 이용방법 3가지나 알게되었다..!