https://programmers.co.kr/learn/courses/30/lessons/12932
문제 분석
- 해당하는 자연수를 문자로 변경하여 전체 길이만큼의 크기로 정답 배열을 생성한다.
- whie문을 통해 더이상 몫이 양의 정수가 아닐 경우 조건문을 종료한다.
- 몫이 양의 정수일 경우 계속 10으로 나눈 나머지를 정답 배열에 추가한다.
문제 풀이
1. 자연수 n의 자리수만큼 정답 배열을 생성하기 위해 String으로 변환 후 길이를 알아낸다.
2. while문을 통해 10으로 나눈 역순의 자리들을 정답 배열의 원소로 추가한다.
3. 더이상 몫을 나눌 수 없는 경우 break를 통해 종료하여 정답을 출력한다.
class Solution {
public int[] solution(long n) {
String num = Long.toString(n);
int[] answer = new int[num.length()];
int idx = 0;
while(true){
if(n<=0){
break;
}
answer[idx++] = (int)(n % 10);
n/=10;
}
return answer;
}
}
'Algorithm > programmers' 카테고리의 다른 글
programmers 이상한 문자 만들기 (0) | 2022.01.23 |
---|---|
programmers 자리수 더하기 (0) | 2022.01.23 |
programmers 정수 내림차순으로 배치하기 (0) | 2022.01.16 |
programmers 정수 제곱근 판별 (0) | 2022.01.16 |
programmers 제일 작은 수 제거하기 (0) | 2022.01.16 |