문제
https://school.programmers.co.kr/learn/courses/30/lessons/120844
프로그램 제작자
코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.
Programmer.co.kr
내 솔루션
from collections import deque
def solution(numbers, direction):
numbers = deque(numbers)
if direction == 'right':
numbers.rotate(1)
elif direction == 'left':
numbers.rotate(-1)
return list(numbers)
문제를 보자마자 큐가 생각나서 관련 라이브러리가 있을 것 같아서 찾아봤습니다.
deque(양단 대기열)
양쪽에 입력이 있는 대기열 개체이며 스택이나 대기열처럼 사용할 수 있습니다.
스택처럼 쓰기 위한 append(), pop()
큐처럼 사용하려면 append(), pop(), appendleft() 및 popleft()를 사용할 수 있습니다.
또한 문제를 해결하는 데 사용되는 rotation()을 포함하여 extend(), insert(), remove() 및 reverse()와 같은 메서드를 사용할 수 있습니다.
deque를 사용하면 deque 타입으로 변환되기 때문에 결국 리스트로 변환된다.
https://docs.python.org/en/3/library/collections.html?highlight=deque#deque-objects
컬렉션 — 컨테이너 데이터 유형
소스 코드: Lib/collections/__init__.py 이 모듈은 Python의 범용 내장 컨테이너, dict, list, set 및 tuple에 대한 대안을 제공하는 특수 컨테이너 데이터 유형을 구현합니다.,,…
docs.python.org
다른 사람의 솔루션
def solution(numbers, direction):
return (numbers(-1)) + numbers(:-1) if direction == 'right' else numbers(1:) + (numbers(0))
이 코드는 더 간단하지만 아직 배우는 중이므로 새 라이브러리를 알아가는 데 더 집중하겠습니다!