happy coding

[level 0] 배열 회전시키기 본문

coding study/programmars

[level 0] 배열 회전시키기

yeoonii 2024. 5. 29. 21:48

문제 설명

정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.


제한사항
  • 3 ≤ numbers의 길이 ≤ 20
  • direction은 "left" 와 "right" 둘 중 하나입니다.

def solution(numbers, direction):
    ans = []
    if direction == 'right':
        ans.append(numbers[-1])
        for i in range(0, len(numbers)-1):
            ans.append(numbers[i])
    else:
        for i in range(1, len(numbers)):
            ans.append(numbers[i])
        ans.append(numbers[0])
    return ans


다른 사람의 풀이

def solution(numbers, direction):
    return [numbers[-1]] + numbers[:-1] if direction == 'right' else numbers[1:] + [numbers[0]]

 

from collections import deque

def solution(numbers, direction):
    numbers = deque(numbers)
    if direction == 'right':
        numbers.rotate(1)
    else:
        numbers.rotate(-1)
    return list(numbers)

 

def solution(numbers, direction):
    if direction == "right":
        answer = [numbers[-1]] + numbers[:len(numbers)-1]
    else:
        answer = numbers[1:] + [numbers[0]]
    return answer

 

def solution(numbers, direction):
    if direction == 'right':
        numbers.insert(0,numbers.pop())
    else:
        numbers.append(numbers.pop(0))
    return numbers

'coding study > programmars' 카테고리의 다른 글

[level 0] 숫자 찾기  (0) 2024.05.29
[level 0] 약수 구하기  (0) 2024.05.29
[level 0] 문자열 정렬하기(1)  (0) 2024.05.29
[level 0] 외계행성의 나이  (0) 2024.05.28
[level 0] 인덱스 바꾸기  (0) 2024.05.28
Comments