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
'프로그래머스 > level1' 카테고리의 다른 글
[Java][프로그래머스] 문자열 다루기 기본 (0) | 2020.10.13 |
---|---|
[Java][프로그래머스] 제일 작은 수 제거하기 (0) | 2020.10.12 |
[Java][프로그래머스] 나누어 떨어지는 숫자 배열 (0) | 2020.10.12 |
[Java][프로그래머스] 두 개 뽑아서 더하기 (0) | 2020.10.08 |
[Java][프로그래머스] 체육복 (0) | 2020.10.07 |