자연수 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] ✅
구체적으로 정리한 풀이 흐름:
String.valueOf(n)으로 자릿수 길이 파악int[] 배열 선언n % 10으로 마지막 자리 추출 후 배열에 저장n /= 10으로 마지막 자리 제거int로 변환해서 배열에 저장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;
}
}
