자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
import java.util.*;
import java.util.stream.Stream;
class Solution {
public int[] solution(long n) {
int[] answer = {};
int[] nArray = Stream.of(String.valueOf(n).split("")).mapToInt(Integer::parseInt).toArray();
int[] nArray2 = Stream.of(String.valueOf(n).split("")).mapToInt(Integer::parseInt).toArray();
for(int i=nArray.length-1, j=0;i>=0;i--,j++){
nArray2[j] = nArray[i];
}
return nArray2;
}
}
import java.util.stream.IntStream;
class Solution {
public int[] solution(long n) {
return new StringBuilder().append(n).reverse().chars().map(Character::getNumericValue).toArray();
}
}
-> 내 코드처럼 배열 객체를 두번 생성하지 않고, stringbuilder를 사용하여서 기존 문자열에 이어 붙여서 결국 메모리 효율성이 높을 것이다.
-> 코드의 가독성이 끝내준다,,,
->Character::getNumericValue 의 의미는 숫자 형태의 char 형을 int 형으로 변환
매개변수 char : 변환하고자 하는 char 형 숫자
반환 값 int : 변환된 int형 숫자