코딩테스트/LV. 0

LV. 0 :: 배열 회전시키기

KUROMI98 2023. 1. 22. 00:24

https://school.programmers.co.kr/learn/courses/30/lessons/120844

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(numbers, direction) 
{
    if (direction == "right") 
    {
        numbers.unshift(numbers[numbers.length-1]);
        numbers.pop();
        // 맨 뒤 원소를 맨 앞에 추가해 주고,
        // 맨 뒤 원소를 삭제해 준다 
    }
    else 
    {
        numbers.push(numbers[0]);
        numbers.shift();
        // 맨 앞 원소를 맨 뒤에 추가해 주고,
        // 맨 앞 원소를 삭제해 준다 
    }
    return numbers;
}

230526 python

def solution(numbers, direction): 
    if direction == "right":
        numbers.insert(0,numbers[len(numbers)-1])
        del numbers[len(numbers)-1]
    else:
        numbers.append(numbers[0])
        del numbers[0]
    return numbers

230915 C++

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> numbers, string direction) {
    vector<int> answer;
    if (direction == "right") { 
        numbers.insert(numbers.begin(), numbers.back()); // 맨 뒤의 요소를 맨 앞에 넣기
        numbers.pop_back(); // 맨 뒤의 요소를 삭제하기
        }
    else {
        numbers.push_back(numbers[0]); // 맨 앞의 요소를 맨 뒤에 넣기
        numbers.erase(numbers.begin()); // 맨 앞의 요소를 삭제하기
    }
    return numbers;
}