반응형
✏️ 문제
: 자연수 뒤집어 배열로 만들기
✏️문제 설명
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다.
✏️제한사항
n은 10,000,000,000이하인 자연수입니다.
✏️입출력 예
n | return |
12345 | [5,4,3,2,1] |
1) 시도 : 100점
import java.util.*;
class Solution {
public int[] solution(long n) {
int[] arrNum = Arrays.asList(String.valueOf(n).split("")).stream().mapToInt(Integer::parseInt).toArray();
int[] newArr = new int[arrNum.length];
for(int i=0; i<arrNum.length; i++){
newArr[i] = arrNum[arrNum.length-1-i];
}
return newArr;
}
}
2) 다른 사람 풀이 참조
class Solution {
public int[] solution(long n) {
String a = "" + n;
// String a = String.valueOf(n);
int[] answer = new int[a.length()];
int cnt=0;
while(n>0) {
answer[cnt]=(int)(n%10);
n/=10;
cnt++;
}
return answer;
}
}
3) 셀프 피드백
이전에 올린 문제와 유사하다. 나는 문자열로 변환한뒤에 한자리씩 split해주고 List로 바꾼뒤, stream 을 이용하여 int 정수형으로 바꾼 배열을 만든뒤에, 그 길이와 같은 배열을 만들고, 하나씩 포문을 이용하여 뒤에 자리부터 할당해주었다.
다른 사람의 모범 풀이는 저번처럼 10으로 나눠서 1의자리 합을 구하여 앞에서부터 마지막 자리수인 1의 자리를 넣어주는 방식으로 작성하였다.
반응형