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를 이용하고 싶었는데 그런 풀이를 발견하여 반갑다.
'verdantjuly > 코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트 입문 : 약수 구하기(python3 , 20230707) (0) | 2023.07.07 |
---|---|
프로그래머스 코딩테스트 입문 : 주사위의 개수 (javascript, 20230706) (0) | 2023.07.06 |
프로그래머스 코딩 테스트 입문 : 문자열 정렬하기(1) (javascript, 20230704) (0) | 2023.07.04 |
프로그래머스 코딩 테스트 입문 : 공 던지기 (javascript, 20230703) (0) | 2023.07.03 |
프로그래머스 코딩테스트 입문 : 잘라서 배열로 저장하기 (javascript, 20230702) (0) | 2023.07.02 |