알고리즘

프로그래머스 Level 1 - 자연수 뒤집어 배열로 만들기 (Javascript)

또롱또 2022. 5. 15. 15:11
728x90

https://programmers.co.kr/learn/courses/30/lessons/12932

function solution(n) {
    var answer = [];
    
    // 받아온 숫자를 문자열로 변경
    let str = n + "";
    
    // 문자열을 배열에 넣기
    answer = str.split("");
    
    // 역순으로 정렬
    answer.reverse();
    
    //map을이용해 각 인덱스에 접근해서 숫자로 바꿔준다.
    answer = answer.map((value)=>(parseInt(value)));
    
    return answer;
}

나는 그냥 문자열로 바꾸고, 배열로 바꾸고 역순하고 map을이용해 풀어냈다.

정답은 대부분 비슷해서 수학적으로 푼걸 가지고왔다.

들어오는값을 계속 10으로 나눠서 나머지를 배열에 넣는다..

즉, 1의 자리 숫자가 계속 배열로 들어가고

floor를 이용해서 들어간 값을 버린다. 10으로 나누면 1의자리가 소수점으로가고 그걸 버리는거다.

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;
}

 

728x90