문제 설명
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 3 ≤ numbers의 길이 ≤ 20
- direction은 "left" 와 "right" 둘 중 하나입니다.
입출력 예
| numbers | direction | result |
| [1, 2, 3] | "rigth" | [3, 1, 2] |
| [4, 455, 6, 4, -1, 45, 6] | "left" | [455, 6, 4, -1, 45, 6, 4] |
나의 코드
function solution(numbers, direction) {
if (direction === "left") {
numbers.push(numbers.shift());
} else {
numbers.unshift(numbers.pop());
}
return numbers;
}
방식
1. 왼쪽 회전(left)은 맨 앞 원소를 맨 뒤로 이동한다.
2. 맨 앞 원소를 꺼내기 위해 shift()를 사용한다.
3. 꺼낸 원소를 맨 뒤에 넣기 위해 push()를 사용한다.
4. 오른쪽 회전(right)은 맨 뒤 원소를 맨 앞으로 이동한다.
5. 맨 뒤 원소를 꺼내기 위해 pop()을 사용한다.
6. 꺼낸 원소를 맨 앞에 넣기 위해 unshift()를 사용한다.
push() → 맨 뒤 추가
pop() → 맨 뒤 제거
unshift() → 맨 앞 추가
shift() → 맨 앞 제거
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] 컨트롤 제트 (0) | 2026.06.10 |
|---|---|
| [프로그래머스] 모음 제거 (0) | 2026.06.07 |
| [프로그래머스] 공 던지기 (0) | 2026.06.04 |
| [프로그래머스] 가위 바위 보 (0) | 2026.05.31 |
| [프로그래머스] 진료순서 정하기 (0) | 2026.05.27 |