본문 바로가기
알고리즘/문제 풀이

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

by _eunji_ 2022. 1. 27.

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

 

문제 설명

  • 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴

제한 조건

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

 

내 풀이

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

자연수 n을 string으로 변환시켜 자릿수를 구한 뒤 배열 answer의 크기를 지정한다.

반복문 while을 통해 n을 10으로 나눈 나머지값을 배열에 추가하고 n을 자기 자신을 10을 나눈 값으로 초기화시켜주는 과정을 반복한다.

 

ex) n=1234일때,

answer의 크기는 4가 되고

i=0일 때 -> answer [0]=1234%10=4 , n=1234/10=123

i=1일 때 -> answer [1]=123%10=3, n=123/10=12

i=2일 때 -> answer [2]=12%10=2 , n=1234/10=1

i=3일 때 -> answer [3]=1%10=1 

 

 

댓글