풀이
1. ArrayList 생성하고
2. n을 % 연산한 값을 ArrayLIst에 넣어줬다.
3. ArrayList -> array 변환 후 리턴
Integer ArrayList 를 int array로 변환하는 방법
int[] intArr = list.stream().mapToInt(i -> i).toArray();
public static int[] solution(long n) {
int[] answer = {};
// List 생성
List<Integer> arr = new ArrayList<Integer>();
// List에 마지막요소부터 넣기
while (n > 0) {
int tmp = (int) n % 10;
arr.add(tmp);
n /= 10;
}
// Integer List -> int Array
answer = arr.stream().mapToInt(i -> i).toArray();
return answer;
}
다른 풀이
n의 자리수의 길이를 갖는 int[] 배열을 만들어두고
앞에서부터 차례로 넣기
public static int[] solution(long n) {
// 주어진 n이 몇자리인지 알아서 배열의 길이를 구하려고, n을 문자열로 변환
String a = "" + n;
int[] answer = new int[a.length()];
int idx = 0;
// 배열의 index에 값 하나씩 넣기
while (n > 0) {
answer[idx] = (int) (n % 10);
n /= 10;
idx++;
}
return answer;
}
참고
https://www.delftstack.com/ko/howto/java/how-to-convert-integer-list-to-int-array-in-java/
'algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 두 정수 사이의 합 JAVA (2) | 2022.09.29 |
---|---|
프로그래머스 - 콜라츠 추측 JAVA (0) | 2022.09.29 |
프로그래머스 - x만큼 간격이 있는 n개의 숫자 JAVA (0) | 2022.09.22 |
프로그래머스 - 정수 내림차순으로 배치하기 JAVA (0) | 2022.09.22 |
프로그래머스 - 문자열 내 p와 y의 개수 (0) | 2022.09.20 |