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

chorok ☘️·2025년 6월 21일

코딩테스트

목록 보기
11/54
post-thumbnail

코딩테스트 연습 > 코딩테스트 입문 > 배열 회전시키기

⚡ 문제 설명

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

⚡ 제한사항

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

⚡ 입출력 예

numbersdirectionresult
[1, 2, 3]"right"[3, 1, 2]
[4, 455, 6, 4, -1, 45, 6]"left"[455, 6, 4, -1, 45, 6, 4]

입출력 예 #1
numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 return합니다.

입출력 예 #2
numbers 가 [4, 455, 6, 4, -1, 45, 6]이고 direction이 "left" 이므로 왼쪽으로 한 칸씩 회전시킨 [455, 6, 4, -1, 45, 6, 4]를 return합니다.

⚡ 구현코드

class Solution {
    public int[] solution(int[] numbers, String direction) {
        int[] answer = new int[numbers.length];
        
        switch(direction) {
            case "right":
                answer[0] = numbers[numbers.length-1];
                for(int i=0; i<numbers.length-1; i++){
                    answer[i+1] = numbers[i];
                }
                break;
                
            case "left":
                answer[numbers.length-1] = numbers[0];
                for(int i=0; i<numbers.length-1; i++){
                    answer[i] = numbers[i+1]; 
                }
                break;
        }
        
        return answer;
    }
}

⚡ 구현코드 해설

switch-case문을 이용해서 구현하였다.

switch-case 조건문

switch(입력변수) {
    case 입력값1: 
    	 ...
         break;
    case 입력값2: 
    	 ...
         break;
    ...
    default: 
    	 ...
         break;
}

break;를 안쓰면 case1일 경우에도 case2까지 동작한다..!!

🍏 회고 및 느낀점

오랜만에 switch-case문을 사용했더니.. break; 쓰는 걸 깜빡했당.. 그래서 계속 case1인 "right"였는데도 답이 틀려서 ... 왜그러지 싶었다 ㅜㅜ ㅋㅋㅋ
IntelliJ 쓸 때는 자동으로 완성시켜주니까 좋긴 하지만 이렇게 자동완성을 안 쓸 때 기억이 안나버리는 크나큰 단점이 있다

코테 공부 처음 할 때는 자동완성을 끄는 걸 추천,, ✨

profile
백엔드 개발자 chorok's velog

0개의 댓글