728x90
반응형
자릿수 더하기
설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로
리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
제한 사항
n은 10,000,000,000이하인 자연수입니다.
n | return |
---|---|
12345 | [5,4,3,2,1] |
정답 풀이
function solution(n) {
let a = n.toString()
let b = [...a]
let c = b.reverse().map(a => Number(a))
return c
}
해설
정수를 받아서 배열로 만들고 뒤집어서 출력하는 문제입니다. 처음에 n으로 받은 정수를 toString 메소드를 사용하여 문자열로 만들고 스프레드 연산자를 사용해 배열 형태로 만들어서 변수 b에 저장하였습니다. 그리고 reverse 메소드를 사용하여 뒤집고 map 반복문을 사용하여 조건을 Number로 걸어서 새로운 배열로 만들어 출력하였습니다. 이번문제로 알게된 것은 map의 사용법과 스프레드 연산자의 사용법을 알게되었습니다. 끝!
다른사람 풀이
function solution(n) {
// 숫자풀이
var arr = [];
do {
arr.push(n%10);
n = Math.floor(n/10);
} while (n>0);
return arr;
}
해설
do while문을 사용하여 풀이한 문제입니다. do while문은 잘 사용하지 않아서 생소했는데 논리 연산자에 따라서 사용하는데요. true와 false의 차이로 구할때 사용합니다. 이사람은 기존에 제가 문자열로 변환해서 풀었는데 숫자 그대로를 사용해 풀이 했습니다.
아니 봐도 모르겠네 다시 공부하고 올립니다..
반응형
'프로그래머스' 카테고리의 다른 글
[programmers] 문자열을 정수로 바꾸기 (3) | 2022.11.14 |
---|---|
[programmers] 문자열 내 p와 y의 개수 (2) | 2022.11.14 |
[programmers]자릿수 더하기 (1) | 2022.11.11 |
[programmers]나머지가 1이 되는 수 찾기 (1) | 2022.11.09 |
[programmers]서울에서 김서방 찾기 (2) | 2022.11.09 |