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

 

코딩테스트 연습 - 자연수 뒤집어 배열로 만들기

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345

programmers.co.kr

 

 

문제 분석

- 해당하는 자연수를 문자로 변경하여 전체 길이만큼의 크기로 정답 배열을 생성한다.

- whie문을 통해 더이상 몫이 양의 정수가 아닐 경우 조건문을 종료한다.

- 몫이 양의 정수일 경우 계속 10으로 나눈 나머지를 정답 배열에 추가한다.

 

 

문제 풀이

1. 자연수 n의 자리수만큼 정답 배열을 생성하기 위해 String으로 변환 후 길이를 알아낸다.

2. while문을 통해 10으로 나눈 역순의 자리들을 정답 배열의 원소로 추가한다.

3. 더이상 몫을 나눌 수 없는 경우 break를 통해 종료하여 정답을 출력한다.

class Solution {
    public int[] solution(long n) {
        
        String num = Long.toString(n);
        
        int[] answer = new int[num.length()];
        int idx = 0;
        
        while(true){
            if(n<=0){
                break;
            }
            answer[idx++] = (int)(n % 10);
            n/=10;
        }
        
        return answer;
    }
}

 

 

https://github.com/SOEUN2/Algorithm