문제설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하세요
예를 들어 n이 12345이면 [5, 4, 3, 2, 1]을 리턴합니다.
제한사항
- n은 10,000,000,000 이하인 자연수입니다.
내가 푼 문제 풀이
function solution(n) {
return (n+'').split('').reverse().map((item)=>{return parseInt(item)})
}
1) (n+'') : 숫자를 문자열 타입으로 변환한다. (== n.toString)
2) split('') : 문자열로 바뀐 n을 한글자씩 잘라서 배열에 담는다.
3) reverse() : 배열을 뒤집는다.
4) 배열함수 중 map() 함수를 사용하면 return한 결과값이 배열에 담기기 때문에 forEach() 대신 map()을 사용하였다.
5) item 요소의 값(문자열)을 parseInt()를 사용해서 숫자 타입으로 변환한다. (문자열 -> 숫자)
6) return 한다 -> map()를 돌면서 return된 값들이 배열에 담긴다.
다른 사람이 푼 문제 풀이
function solution(n) {
const str_arr = (n+"").split('').reverse();
let answer = []
for( let i =0; i< str_arr.length; i++){
answer.push(parseInt(str_arr[i]))
}
return answer
}
1) n을 숫자 -> 문자열로 변환 / split 함수를 사용해서 배열로 만들고 / reverse() 함수를 사용해서 배열을 뒤집는다.
2) for문을 사용해서 str_arr의 인덱스의 값을 parseInt()를 사용해서 숫자 타입으로 변환하고
3) push()를 사용해서 배열에 담는다.
https://programmers.co.kr/learn/courses/30/lessons/12932
'항해 중 > 2주차 알고리즘(프로그래머스)' 카테고리의 다른 글
3일차 → 자릿수 더하기(toString(), split(), parseInt(), forEach(), reduce()) (0) | 2021.11.10 |
---|---|
3일차 → 문자열 다루기 기본(parseInt()) (0) | 2021.11.10 |
3일차 → 정수 내림차순으로 배치하기(toString(), split(), sort(), reverse(), join(), parseInt()) (0) | 2021.11.10 |
3일차 → 완주하지 못한 선수(sort(), find()) (0) | 2021.11.10 |
2일차 → 2016년(Date 생성자 함수, toString()) (0) | 2021.11.09 |
댓글