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

📋 풀이
import java.util.*;
class Solution {
public int[] solution(long n) {
// long n을 문자열로 변환
String str = String.valueOf(n);
// 문자열을 뒤집기 위해 StringBuilder 사용
StringBuilder sb = new StringBuilder(str);
sb.reverse();
// 결과를 저장할 int 배열 생성
int[] answer = new int[sb.length()];
for (int i = 0; i < sb.length(); i++) {
// 각 문자를 숫자로 변환하여 배열에 저장
answer[i] = sb.charAt(i) - '0';
}
// 배열 반환
return answer;
}
}
- valueOf()로 형변환
- StringBuilder 사용해서 reverse()로 뒤집어줌
- sb에 담겨있는 것들을 answer정수 배열에 담아준다
+ long 타입의 값을 int 배열에 담는 것은 가능.
다만 long은 64비트(8바이트) 크기를 가지는 반면, int는 32비트(4바이트) 크기를 가집니다. 따라서 long을 개별 자리수로 분리하여 int 배열에 담는 경우, 각 자릿수는 0에서 9까지의 값이므로, 자릿수 하나는 int로 충분히 표현 가능. 즉, long 값의 자릿수를 int로 변환해 담는 것은 안전하고 문제 X.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [스택] 올바른 괄호 - python (1) | 2025.05.07 |
|---|---|
| [스택] 같은 숫자는 싫어 - python (0) | 2025.05.07 |
| [Lv.0][PCCE 기출문제] 7번 / 가습기 (0) | 2024.08.15 |
| [Lv.1] 제일 작은 수 제거하기 (0) | 2024.08.13 |
| [Lv.1] 자릿수 더하기 (0) | 2024.08.12 |