Programmers/Lv.0

[프로그래머스][Lv.0][Java][Array] 배열 회전시키기

dbssk 2023. 3. 27. 16:59

코딩테스트 연습 - 배열 회전시키기 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

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

programmers.co.kr

문제 설명

정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 3 ≤ numbers의 길이 ≤ 20
  • direction은 "left" 와 "right" 둘 중 하나입니다.

풀이
  • direction 이 right 라면 answer[0]에 numbers 배열의 마지막 요소를 넣은 다음, numbers의 첫 번째 요소부터 마지막에서 두 번째 요소까지 순서대로 넣어준다.
  • direction 이 left 라면 answer[0] 부터 numbers의 두 번째 요소부터 마지막 요소까지 순서대로 넣어주고, answer 의 마지막에 numbers 의 첫 번째 요소를 넣어준다.
class Solution {
    public int[] solution(int[] numbers, String direction) {
        int[] answer = new int[numbers.length];
        
        if (direction.equals("right")) {
            for (int i = 1; i < numbers.length; i++) {
                answer[0] = numbers[numbers.length - 1];
                answer[i] = numbers[i - 1];
            }
        } else {
            for (int i = 1; i < numbers.length; i++) {
                answer[i - 1] = numbers[i];
                answer[numbers.length - 1] = numbers[0];
            }
        }
        
        return answer;
    }
}
댓글수0