
* 문제 풀이
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[num_list.length];
int a = 0;
for(int i =n; i < num_list.length; i++){
answer[a++] = num_list[i];
}
for(int i = 0; i < n; i++){
answer[a++] = num_list[i];
}
return answer;
}
}
n 뒤쪽 인덱스를 앞으로 보낸다.
int a = 0;
answer 배열에 데이터를 넣기 위한 인덱스
for(int i =n; i < num_list.length; i++){
n번째 인덱스부터 배열 끝 요소까지 반복
answer[a++] = num_list[i];
answer를 후위 연산하여 인덱스 번호를 증가시켜주고 answer에 요소를 담아준다
두번째 for문에서 n 앞쪽 요소들을 복사해 answer 배열 뒤에 붙여준다.
* 프로그래머스 다른 풀이
class Solution {
public int[] solution(int[] num_list, int n) {
int[] answer = new int[num_list.length];
for (int i=0;i<num_list.length;i++){
if (n == num_list.length) {
n = 0;
}
answer[i] = num_list[n];
n++;
}
return answer;
}
}
for (int i = 0; i < num_list.length; i++) {
answer 배열을 0부터 채우기 위함
if (n == num_list.length) { n = 0; }
만약 n이 배열 끝까지 갔다면, 다시 처음부터 시작하게 한다.
배열을 순환하도록 만들어줌
answer[i] = num_list[n];
n번째 요소를 answer[i]에 복사
n++;
다음 인덱스를 보기 위해 n을 증가
'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글
| [프로그래머스/java/Lv.0] 접미사인지 확인하기 (0) | 2025.04.22 |
|---|---|
| [프로그래머스/java/Lv.0] 9로 나눈 나머지 (0) | 2025.04.22 |
| [프로그래머스/java/Lv.0] x 사이의 개수 (0) | 2025.04.16 |
| [프로그래머스/java/Lv.0] 문자열 정렬하기 (2) (0) | 2025.04.15 |
| [프로그래머스/java/Lv.0] 암호 해독 (0) | 2025.04.10 |