Algorithm/Programmers 입문

[프로그래머스 코딩기초 트레이닝] 순서 바꾸기 (JAVA)

JunFe 2023. 11. 25. 19:18
반응형

문제 설명

 

정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.


제한사항

 

2 ≤ num_list의 길이 ≤ 30

1 ≤ num_list의 원소 ≤ 9

1 ≤ n  num_list의 길이


입출력 예

 

num_list n result
[2, 1, 6] 1 [1, 6, 2]
[5, 2, 1, 7, 5] 3 [7, 5, 5, 2, 1]

입출력 예 설명

 

입출력 예 #1

[2, 1, 6]에서 첫 번째 이후의 원소는 [1, 6]이고 첫 번째까지의 원소는 [2]입니다. 두 리스트를 이어 붙이면 [1, 6, 2]가 됩니다.

 

입출력 예 #2

[5, 2, 1, 7, 5]에서 세 번째 이후의 원소는 [7, 5]이고 세 번째까지의 원소는 [5, 2, 1]입니다. 두 리스트를 이어 붙이면 [7, 5, 5, 2, 1]가 됩니다.


풀이

 

-> ArrayList를 하나 만들어서 n부터 num_list의 length까지의 값을 먼저 담고, 0부터 n-1까지의 값들을 담아서 answer 배열에 다시 담아주었다.


코드

 

import java.util.*;
class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = {};
        ArrayList<Integer> list = new ArrayList<>();
        for(int i=n;i<num_list.length;i++){
            list.add(num_list[i]);
        }
        
        for(int i=0;i<n;i++){
            list.add(num_list[i]);
        }
        
        answer = new int[list.size()];
        
        for(int i=0;i<list.size();i++){
            answer[i]=list.get(i);
        }
        return answer; 
    }
}
반응형