문제풀이/프로그래머스

자연수 뒤집어 배열로 만들기

dev_kong 2021. 11. 23. 01:52
728x90
728x90

문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.

 

접근 방법

 

그냥 split으로 하나씩 끊어서 배열만들고

map으로 숫자로 바꾸고

reverse로 뒤집으면 끝..?

 

function solution(n) {
    const numbers = n+''
    return numbers.split('')
                  .map((val)=>+val)
                  .reverse()
}

 

 

응.. 정답

 

근데 다른 사람 답 보다가 신기한거 발견함

 

function solution(n) {
    var arr = [];
    do {
        arr.push(n%10);
        n = Math.floor(n/10);
    } while (n>0);
    return arr;
}

 

숫자를 10으로 나눈 나머지 즉 1의 자리 집어넣고

10으로 나눈고 소수점 버리고

다시 10으로 나누고 1의자리 집어 넣는 신박함

 

do..while처음봄

근데 그냥 while 써도 되더라.

function solution(n) {
  let arr = [];
  while (n > 0) {
    arr.push(n % 10);
    n = Math.floor(n / 10);
  }
  return arr;
}

 

 

Math.... 빨리 책부터 한바퀴 돌려야지...

728x90
728x90