728x90
⭐ 문제 설명
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.
🙏 제한사항
- 3 ≤ numbers의 길이 ≤ 20
- direction은 "left" 와 "right" 둘 중 하나입니다.
🌱 입출력 예 설명
입출력 예 #1
numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 return합니다.
입출력 예 #2
numbers 가 [4, 455, 6, 4, -1, 45, 6]이고 direction이 "left" 이므로 왼쪽으로 한 칸씩 회전시킨 [455, 6, 4, -1, 45, 6, 4]를 return합니다.
✨ 내 풀이
def solution(numbers, direction):
if (direction == 'right') :
temp = numbers.pop()
return [temp] + numbers
elif (direction == 'left') :
temp = numbers.pop(0)
return numbers + [temp]
풀이 언어 : Python3
📌 문제 풀이
pop()
array.pop(index)
- 위와 같은 방식으로 사용
- 리스트에서 해당 index의 요소를 제거하고, 해당 index의 값을 반환한다
- index를 따로 지정하지 않을 경우, 가장 마지막 값을 기본으로 한다
list = [1,2,3]
print(list.pop())
>> 3
print(list)
>> [1,2]
print(list.pop(0))
>> 1
print(list)
>> [2]
풀이
1-0. direction이 right일 경우
1-1. numbers.pop()을 하여 numbers 배열의 가장 마지막 요소를 꺼내어 temp 변수에 값을 넣는다
1-2. temp를 numbers 배열 앞에 추가한다
2-0. direction이 left일 경우
2-1. numbers.pop(0)을 하여 numbers 배열의 가장 첫번째 요소를 꺼내어 temp 변수에 값을 넣는다
2-2. temp를 numbers 배열 마지막에 추가한다
728x90