코딩테스트 연습 > 코딩테스트 입문 > 배열 회전시키기
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.
| numbers | direction | result |
|---|---|---|
| [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 쓸 때는 자동으로 완성시켜주니까 좋긴 하지만 이렇게 자동완성을 안 쓸 때 기억이 안나버리는 크나큰 단점이 있다
코테 공부 처음 할 때는 자동완성을 끄는 걸 추천,, ✨