Algorithm 뽀개기/프로그래머스

[프로그래머스][Lvl1][Java][Javascript] 자연수 뒤집어 배열로 만들기

딸기케잌🍓 2023. 8. 27. 17:19

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

문제

문제 설명

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

제한 조건

  • n은 10,000,000,000이하인 자연수입니다.

입출력 예

n return
12345 [5,4,3,2,1]

Java

내 코드

    public int[] solution(long n) {
        String strN = String.valueOf(n);
        ArrayList<Character> arr = new ArrayList<>();
        for(int i = strN.length() - 1 ; i > -1; i--){
            arr.add(strN.charAt(i));
        }

        return arr.stream().mapToInt(Character::getNumericValue).toArray();
    }

다른 풀이1

    public int[] solution(long n) {
        return new StringBuilder().append(n).reverse().chars().map(Character::getNumericValue).toArray();
    }

다른 풀이2

  public int[] solution(long n) {
        String a = "" + n;
        int[] answer = new int[a.length()];
        int cnt=0;

        while(n>0) {
            answer[cnt]=(int)(n%10);
            n/=10;
            System.out.println(n);
            cnt++;
        }
        return answer;
        }

JavaScript

내 코드

function solution(n) {
    var answer = [];
    let str = String(n);
    for(let i = str.length -1 ; i > -1 ; i-- ){
        answer.push(Number(str[i]))
    }
    return answer;
  }

다른 풀이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;
}