https://programmers.co.kr/learn/courses/30/lessons/12932
문제 설명
- 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴
제한 조건
- n은 10,000,000,000 이하인 자연수입니다.
내 풀이
class Solution {
public int[] solution(long n) {
int[] answer = {};
String str = Long.toString(n);
//String str = "" + n;
answer=new int[str.length()];
int i=0;
while(n>0){
answer[i]=(int)(n%10);
if(n<10) break;
n/=10;
i++;
}
return answer;
}
}
자연수 n을 string으로 변환시켜 자릿수를 구한 뒤 배열 answer의 크기를 지정한다.
반복문 while을 통해 n을 10으로 나눈 나머지값을 배열에 추가하고 n을 자기 자신을 10을 나눈 값으로 초기화시켜주는 과정을 반복한다.
ex) n=1234일때,
answer의 크기는 4가 되고
i=0일 때 -> answer [0]=1234%10=4 , n=1234/10=123
i=1일 때 -> answer [1]=123%10=3, n=123/10=12
i=2일 때 -> answer [2]=12%10=2 , n=1234/10=1
i=3일 때 -> answer [3]=1%10=1
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[Java] 프로그래머스 > 가운데 글자 가져오기 (0) | 2022.01.30 |
---|---|
[Java] 프로그래머스 > 문자열 다루기 기본 (0) | 2022.01.30 |
[Java] 프로그래머스 > 제일 작은 수 제거하기 (0) | 2022.01.27 |
[Java] 프로그래머스 > 같은 숫자는 싫어 (0) | 2022.01.27 |
[Java] 프로그래머스 > 약수의 합 (0) | 2022.01.20 |
댓글