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

윤민선·2026년 8월 9일

프로그래머스

목록 보기
65/84
post-thumbnail

문제 설명

자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열을 반환하는 문제이다.

n = 12345 → [5, 4, 3, 2, 1]
n = 1     → [1]

접근 방법

자릿수 더하기에서 n % 10으로 마지막 자리 수를 추출하고 n / 10으로 제거하는 패턴을 사용했다. 이 문제는 합산 대신 배열에 순서대로 저장 한다.

먼저 n을 문자열로 변환해서 자릿수 길이를 구하고, 그 길이만큼 배열을 선언하였다.

String str = String.valueOf(n);
int[] answer = new int[str.length()];

이후 n % 10으로 마지막 자리부터 순서대로 배열에 저장하면 자동으로 뒤집힌 순서가 된다.

n = 12345
 
i=0: 12345 % 10 = 5 → answer[0]=5, n=1234
i=1: 1234  % 10 = 4 → answer[1]=4, n=123
i=2: 123   % 10 = 3 → answer[2]=3, n=12
i=3: 12    % 10 = 2 → answer[3]=2, n=1
i=4: 1     % 10 = 1 → answer[4]=1, n=0
 
answer = [5, 4, 3, 2, 1] ✅

구체적으로 정리한 풀이 흐름:

  1. String.valueOf(n)으로 자릿수 길이 파악
  2. 길이만큼 int[] 배열 선언
  3. n % 10으로 마지막 자리 추출 후 배열에 저장
  4. n /= 10으로 마지막 자리 제거
  5. n을 int로 변환해서 배열에 저장
  6. 결과 반환

최종 코드

class Solution {
    public int[] solution(long n) {
        String str = String.valueOf(n);
 
        int[] answer = new int[str.length()];
 
        for (int i = 0; i < str.length(); i++) {
            answer[i] = (int)(n % 10);
            n /= 10;
        }
 
        return answer;
    }
}

실행 결과

0개의 댓글