verdantjuly/코딩테스트
프로그래머스 코딩테스트 입문 : 배열 회전시키기 (javascript, 20230705)
verdantjuly
2023. 7. 5. 08:16
728x90
문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/120844
나의 풀이
function solution(numbers, direction) {
if(direction == "right"){
const last = numbers[numbers.length-1]
for(i=numbers.length-1;i>=0;i--){
numbers[i]=numbers[i-1]
}
numbers[0] = last
return numbers
} else if (direction == "left"){
const first = numbers[0]
for(i=1;i<numbers.length;i++){
numbers[i-1]=numbers[i]
}
numbers[numbers.length-1] = first
return numbers
}
}
다른 사람의 풀이
function solution(numbers, direction) {
direction === 'right' ? numbers.unshift(numbers.pop()) : numbers.push(numbers.shift());
return numbers;
}
function solution(numbers, direction) {
return direction === "right"
? [numbers[numbers.length - 1], ...numbers.slice(0, numbers.length - 1)]
: [...numbers.slice(1), numbers[0]];
}
소감
shift를 이용하고 싶었는데 그런 풀이를 발견하여 반갑다.