자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
n은 10,000,000,000이하인 자연수입니다.
| x | return |
|---|---|
| 12345 | [5,4,3,2,1] |
class Solution {
public int[] solution(long n) {
String num = String.valueOf(n);
int[] answer = new int [num.length()];
for(int i = 0; i< answer.length; i++){
answer[i] = Integer.parseInt(num.substring(answer.length-1-i, answer.length-i));
}
return answer;
}
}
long타입의 변수n을String으로 바꾸기 위해String.valueOf()를 사용하고 그 결과 값을num에 저장했다. 그리고num의 길이만큼int타입의 배열answer을 생성하였다. 입력한 숫자n을 그대로 뒤집은 숫자를 리턴해야하기 때문에for문을 사용하였고i가 0부터answer.length-1까지 실행하게 만들었다.substring(start, end)는start부터end-1까지의 문자를 잘라온다. 만약num.substring(4, 5)이라면num[4]의 값인5만 잘라오는 것이다. 이 잘라온 문자열을Integer.parseInt()를 이용해String을int로 바꾸어주고 배열answer[i]에 저장한다. 그리고 모든 반복이 끝나면 완성된answer배열을 반환한다.
1. substring(start, end)
start 인덱스부터 end-1 인덱스까지 잘라서 반환한다.2. Integer.parseInt()
String을 int로 변환한다.