728x90
# 문제
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
# 답안
// 1. 입력: 자연수 n
// 2. 출력: 각 자리 숫자를 원소로 가지는 배열 형태
// < 1번 방법 >
// answer = []
// n을 문자열로 만들고 ex."12345"
// for문 돌릴건데 하나씩 숫자로 바꿔서 answer에 push
function solution(n) {
let answer = [];
let str = String(n);
for(let i=str.length-1; i>=0; i--){
answer.push(Number(str[i]))
}
return answer;
}
// < 2번 방법 >
// n을 문자열로 만들고, split('')으로 쪼개서 배열로 만들고, reverse로 뒤집기
// map 돌려서 문자열 하나하나를 숫자로 만들기
function solution(n) {
return n.toString().split('').reverse().map(o => o = parseInt(o));
}
String(n)과 n.toString()의 차이점
String(n)과 n.toString()은 기본적으로 같은 결과를 반환하지만, 몇 가지 상황에서는 차이가 있을 수 있다.
- n이 null 또는 undefined인 경우:
- String(n)은 "null" 또는 "undefined"와 같은 문자열을 반환
- n.toString()은 TypeError를 발생시킴
- n이 숫자 타입이 아닌 경우:
- String(n)은 n을 해당 문자열로 변환
- n.toString()은 TypeError를 발생시킴
- 객체의 경우:
- String(n)은 n.toString()을 호출
- n.toString()은 해당 객체의 문자열 표현을 반환
일반적으로는 String(n)을 사용하는 것이 더 안전하다. 만약 n이 null 또는 undefined인 경우에도 예외가 발생하지 않기 때문이다.
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 93 - 정수 제곱근 판별) (0) | 2024.05.08 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 92 - 정수 내림차순으로 배치하기) (0) | 2024.05.07 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 90 - 약수의 합) (0) | 2024.05.07 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 89 - 문자열을 정수로 바꾸기) (0) | 2024.05.05 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 88 - 문자열 내 p와 y의 개수) (0) | 2024.05.05 |