- 배열 회전시키기
- 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.
- numbersdirectionresult
-
[1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4]
def solution(numbers, direction):
answer = [0] * len(numbers)
if(direction == 'left'):
temp = numbers[0]
for i in range(1, len(numbers)):
answer[i-1] = numbers[i]
answer[len(numbers)-1] = temp
else:
temp = numbers[len(numbers)-1]
for i in range(0, len(numbers)-1):
answer[i+1] = numbers[i]
answer[0] = temp
return answer
다른 사람 풀이
from collections import deque
def solution(numbers, direction):
numbers = deque(numbers)
if direction == 'right':
numbers.rotate(1)
else:
numbers.rotate(-1)
return list(numbers)
rotate함수가 있구나...
rotate(1)은 오른쪽으로 이동, rotate(-1)은 왼쪽으로 이동
def solution(numbers, direction):
return [numbers[-1]] + numbers[:-1] if direction == 'right' else numbers[1:] + [numbers[0]]
깔끔한 풀이..
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
[프로그래머스] 합성수 찾기 (0) | 2023.11.21 |
---|---|
[프로그래머스] 삼각형의 완성조건 (1) (0) | 2023.11.20 |
[프로그래머스] 공 던지기 (1) | 2023.11.20 |
[프로그래머스] 2차원으로 만들기 (1) | 2023.11.20 |
[프로그래머스] 구슬을 나누는 경우의 수 (2) | 2023.11.20 |