Description
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
Constraints
n은 10,000,000,000이하인 자연수입니다.
My Solution
메서드를 이용해 아주 간단하게 풀 수 있는 문제였다.
우선 자연수 n을 문자열로 만든 후, split으로 각 자릿수를 원소로 가지는 배열로 변환한다.
그 다음 배열의 각 자릿수를 문자열에서 숫자로 변환한 후, reverse()를 이용해 원소의 순서를 뒤집어주면 끝.
Other's Solution
function solution(n) {
var answer = [];
n = n + "";
for (var i = n.length - 1; i >= 0; i--) {
answer.push(Number(n[i]));
}
return answer;
}
function solution(n) {
return n.toString().split('').reverse().map(o => o = parseInt(o));
}
function solution(n) {
// 문자풀이
// return (n+"").split("").reverse().map(v => parseInt(v));
// 숫자풀이
var arr = [];
do {
arr.push(n % 10);
n = Math.floor(n / 10);
} while (n > 0);
return arr;
}
문자풀이와 숫자풀이, 이렇게 두 개로 나눠서 풀이를 했다는 것이 흥미로워서 가져왔다.
문자풀이는 내가 한 방식과 거의 동일하지만 숫자풀이의 방식을 좀 알아둘 필요가 있을 것 같다.
자연수를 10으로 나눈 나머지를 빈 배열에 push하고, 자연수는 10으로 나눈 것을 Math.floor로 내림해주었다.
이런 방식으로도 자연수의 각 자릿수를 원소로 가지는 배열로 만들 수 있다.
'Algorithms > Programmers' 카테고리의 다른 글
[프로그래머스 Level 1] 수박수박수박수박수박수? (자바스크립트) (0) | 2021.10.12 |
---|---|
[프로그래머스 Level 1] 최대공약수와 최소공배수 (자바스크립트) (0) | 2021.10.10 |
[프로그래머스 Level 1] 자릿수 더하기 (자바스크립트) (0) | 2021.10.10 |
[프로그래머스 Level 1] 정수 내림차순으로 배치하기 (자바스크립트) (0) | 2021.10.08 |
[프로그래머스 Level 1] 콜라츠 추측 (자바스크립트) (0) | 2021.10.08 |