관리 메뉴

여름 언덕에서 배운 것

[0단계] 순서 바꾸기 1점 본문

가랑비에 옷 젖는 줄 모른다 💻/🌰코테문풀_꾸준히

[0단계] 순서 바꾸기 1점

잔뜩 2025. 1. 24. 17:06

 

풀기는 풀었는데 시간이 오래 걸리는 듯 하다.. 그리고 내가 너무 어렵게 생각한듯

길이는 num_list에서 없애거나 추가하는게 아니라서 고정인데 List가 필요없을꺼같다!

import java.util.*;
class Solution {
    public int[] solution(int[] num_list, int n) {
        int[]frontArr = Arrays.copyOfRange(num_list,n,num_list.length);
        int[] backArr = Arrays.copyOfRange(num_list,0,n);
        List<Integer> answerList = new ArrayList<>();
        for(int i=0;i<frontArr.length;i++){
            answerList.add(frontArr[i]);
        }
         for(int j=0;j<backArr.length;j++){
            answerList.add(backArr[j]);
        }
        return answerList.stream().mapToInt(Integer::intValue).toArray();
    }
}

 

** 다른 사람 풀이  

예를들어 num_list [5,2,1, 7,5]  n = 3 , result = [7,5, 5,2,1]
class Solution {
    public int[] solution(int[] num_list, int n) {
        int idx = 0;
        int[] answer = new int[num_list.length]; // 순서만 바꾸는 거라서 길이가 고정 이걸 생각못함
        for (int i = n;i < num_list.length;i++) // n 이후는 앞으로
            answer[idx++] = num_list[i];
        for (int i = 0;i < n;i++) // n 이전은 뒤로 
            answer[idx++] = num_list[i];
        return answer;
    }
}

 

728x90