코딩 테스트 풀이 15 - 배열 회전시키기

배효림·2023년 3월 27일
0

코딩테스트

목록 보기
15/20

✔ 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120844?language=java

💡 접근 방법

left/right 여부에 따라 양쪽 끝의 element 의 위치만 조정하면 되기 때문에, System.arraycopy 함수를 이용해 기존 배열의 끝 부분을 제외한 부분을 copy하고 회전 하는 부분을 따로 이어붙였다.

⭐ 코드

 	public int[] solution(int[] numbers, String direction)
    {
        int[] answer = new int[numbers.length];

        if (direction.equals("right"))
        {
            answer[0] = numbers[numbers.length-1];
            System.arraycopy(numbers,0,answer,1,numbers.length-1);
        }
        else    // left
        {
            answer[numbers.length-1] = numbers[0];
            System.arraycopy(numbers,1,answer,0,numbers.length-1);
        }

        return answer;
    }
profile
항상 위를 바라보는 프로그래머

0개의 댓글