문제 설명
정수 리스트 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] |
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[num_list.length];
int index = 0;
for (int i = n; i < num_list.length; i++) {
answer[index++] = num_list[i];
}
for (int i = 0; i < n; i++) {
answer[index++] = num_list[i];
}
return answer;
}
}
answer 배열을 생성합니다. num_list에서 원소 간 위치만 변경되는 것이므로 크기는 num_list와 동일합니다.
index 변수를 생성합니다. 배열에 원소를 삽입할 때, answer에 사용할 변수입니다.
첫 번째 for문이 n부터 num_list의 길이만큼 순회합니다. 이는 n 번째 원소 이후의 원소를 순회합니다. answer의 index 번째 원소 자리에 num_list의 i 번째 원소를 차례대로 삽입합니다.
두 번째 for문이 0부터 n까지 순회합니다. 이는 n번째까지의 원소를 순회합니다. 이번에도 answer의 index 번째 원소 자리에 num_list의 i 번째 원소를 삽입합니다. index는 앞서 증가한 값이 유지되고 있으므로, answer 배열에 연이어 원소가 채워질 것입니다.
'프로그래머스 > Lv. 0(코딩 기초 트레이닝)' 카테고리의 다른 글
[프로그래머스 코딩테스트] 문자열이 몇 번 등장하는지 세기(Java) (0) | 2023.05.24 |
---|---|
[프로그래머스 코딩테스트] 문자열 잘라서 정렬하기(Java) (0) | 2023.05.22 |
[프로그래머스 코딩테스트] 배열 만들기 3(Java) (0) | 2023.05.21 |
[프로그래머스 코딩테스트] 배열의 원소만큼 추가하기(Java) (0) | 2023.05.21 |
[프로그래머스 코딩테스트] 문자열 섞기(Java) (0) | 2023.05.20 |