프로그래머스 문제풀이/Level 1

자연수 뒤집어 배열로 만들기 (자바, Java)

뮤츠 2022. 12. 17. 01:58

어려운건 아닌데, 이런 숫자 변환 관련해서 풀이를 남기고 싶었다.

숫자를 자릿수로 끊는경우, 내가 주로 사용하는건 두가지 방법이 있다. 첫번째로 10씩 반복해서 나눠주면서 나머지를 추출, 그후 원래 변수는 10을 나눈다. -> while문으로 변수값이 0이면 탈출.

String으로 변환, charAt을 활용한다.

개인적으로는 후자가 더 간편하다.

단, 이 문제는 자릿수로 접근하면 더 편할 것 같았다. 거꾸로 세면 되니까, 자릿수대로 넣어주면 되기 때문.

일단 아무생각없이 String을 이용했다.

 

class Solution {
    public int[] solution(long n) {        
        String str = String.valueOf(n);
        int l = str.length();
        int[] answer = new int[l];
        for (int i=0; i<l; i++) {
        	answer[i] = Character.digit(str.charAt(l-i-1), 10);
        }
        return answer;
    }
}