자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
n | return |
---|---|
12345 | [5,4,3,2,1] |
const solution = (n) => Array.from(String(n)).reverse().map(x=>Number(x));
/*
내가 처음 작성한 코드이다.
1. 먼저 자연수 n을 Array.from을 통해서 배열로 만들어 준다.
2. reverse 메서드를 사용하여 순서를 뒤집어 준다.
3. map을 이용하여 배열안에 요소들의 타입을 String에서 Number로 변경해준다.
*/
const solution = (n) => [...String(n)].reverse().map(x=>parseInt(x));
/*
SOLUTION1의 방법과 다르게 조금 다르게 작성한 코드이다.
실행속도는 비슷한거 같은데 SOLTION2가 조금 더 빠르다.
1. 자연수 n을 String으로 변환 후 배열 안에 스프레드 문법을 이용하여 펼쳐준다.
2. reverse 메서드를 사용하여 순서를 뒤집어 준다.
3. map을 이용하여 배열안에 요소들의 타입을 String에서 parseInt로 변경해준다.
*/
const solution = (n) => (n + '').split('').reverse().map(n => parseInt(n));
/*
toSting()이나 String()으로 형변환 하지 않고 자연수 n에 ''를 더해주어 String으로 강제 형변환을
해주는 방식이다.
*/
const solution = (n) => {
var answer = [];
n = n + "";
for (var i = n.length - 1; i >= 0; i--) {
answer.push(Number(n[i]));
}
return answer;
}
/*
for문을 사용하여 작성한 코드이다.
1. 빈 배열을 갖는 answer 변수를 만들어준다.
2. 자연수 n을 (n + "")을 통해서 문자열로 강제 형변환 해준다.
3. n의 length -1 부터 0까지 1씩 감소하는 for문을 만들어준다.
4. for문을 돌며 answer에 인덱스로 접근하여 나온 값을 Number로 변환 후 push 메서드로
추가하여 준다.
5. answer를 리턴한다.
*/