코딩테스트연습/[프로그래머스] Java

[프로그래머스] Java 코딩테스트 연습 - 순서 바꾸기

_꼬마돌 2023. 6. 20. 19:59
반응형

[프로그래머스] Java 코딩테스트 연습 - 순서 바꾸기

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/181891

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제

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

 

풀이

System.arraycopy() 메서드를 사용하여 문제를 풀었다.
System.arraycopy() 메서드는 java에서 배열의 일부분 또는 전체를 다른 배열로 복사하는 데 사용되는 메서드이다.
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
System.arraycopy()메서드의 구문은 위와 같다.

src : 복사하고자 하는 원본 배열
srcPos : 원본 배열에서 복사를 시작할 인덱스
dest : 복사한 원소를 저장할 대상 배열
destPos : 대상 배열에서 복사한 원소를 저장할 시작 위치
length : 복사할 원소의 개수

 

소스코드

class Solution {
    public int[] solution(int[] num_list, int n) {
        int[] answer = new int[num_list.length];
        
        System.arraycopy(num_list, n, answer, 0, num_list.length -n);
        System.arraycopy(num_list, 0, answer, num_list.length -n, n);
        
        return answer;
    }
}

 

반응형