알고리즘, 코딩테스트/알고리즘 풀이

[프로그래머스/ 코딩테스트 연습문제] 자연수 뒤집어 배열로 만들기

jiyoon0000 2024. 10. 29. 16:22

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;
    }
}
반응형