본문 바로가기
프로그래머스/level1

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

by wave_m 2020. 10. 12.
728x90

문제 설명 : 

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

 

제한 조건 : 

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

입출력 예 : 

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

 

import java.util.Arrays;
import java.util.stream.Stream;
class Solution {
    public int[] solution(long n) {
        int[] answer = new int[String.valueOf(n).length()];
        int index = 0;
        
        int temp = 0;
        
        while(n>0){
            temp = (int) (n%10);
            n = n/10;
            answer[index] = temp;
            index ++;
        }
        return answer;
    }
}

 

알고리즘 풀이 : 

1. int[] 타입으로 반환할 answer을 String.valueOf(n).length() 크기로 선언

- n은 long 타입이라서 String.valueOf(n)을 사용

2. int 타입으로 index를 0으로 초기화

3. int 타입으로 temp를 0으로 초기화

4. n이 0보다 클 때만 while 문을 반복

- temp를 10으로 나눈 나머지를 int 타입으로 형 변환 한 후 temp에 저장

- n에 n으로 나눈 값을 저장

- answer에 temp를 저장

- 한번 while문을 돌릴 때마다 index를 하나씩 증가

5. return을 사용해 answer을 반환 

 

 

 

728x90