Q. 자연수 뒤집어 배열로 만들기
A.
import java.util.*;
class Solution {
public int[] solution(long n) {
//배열을 반대방향으로 다시 빼야하니까 Queue를 사용
//Queue는 생성자가 없는 껍데기이기 때문에 생성자가 존재하는 클래스인 LinkedList를 통해 사용할 수 있다.
Queue<Integer> intQueue = new LinkedList<>();
//n은 자연수라고 했으니까, n이 0보다 클때 n을 10으로 나눈 나머지를 정수형으로 받으면 제일 마지막 수가 선택된다.
//선택된 수를 Queue에 삽입
//while 문을 사용해서 n의 마지막 수를 뽑은 후에 다시 10으로 나눠서 마지막 수를 없앤다.
while(n>0){
intQueue.add((int)(n%10));
n /= 10;
}
//Queue 사이즈= 배열크기, Queue에 값을 넣고 난 뒤에 answer 선언
int[] answer = new int[intQueue.size()];
//answer의 길이만큼 i를 증가시켜서 Queue의 poll을 사용해 맨 아래값부터 꺼내고 삭제한 후에 answer을 반환
for(int i=0; i<answer.length; i++){
answer[i] = intQueue.poll();
}
return answer;
}
}
반응형
'알고리즘, 코딩테스트 > 알고리즘 풀이' 카테고리의 다른 글
[프로그래머스/ 코딩테스트 연습문제] 정수 제곱근 판별 (0) | 2024.10.31 |
---|---|
[프로그래머스/ 코딩테스트 연습문제] 문자열을 정수로 바꾸기 (0) | 2024.10.30 |
[프로그래머스/ 코딩테스트 연습문제] x만큼 간격이 있는 n개의 숫자 (0) | 2024.10.29 |
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌3] 나머지가 1이 되는 수 찾기 (0) | 2024.10.29 |
[프로그래머스/ 코딩테스트 연습문제] 약수의 합 (0) | 2024.10.28 |