본문 바로가기

Python(알고리즘,문제풀이)/프로그래머스(입문100제)

코딩테스트입문 / 배열 회전시키기

728x90

📚문제

출처 : 프로그래머스 / 배열 회전시키기(https://school.programmers.co.kr/learn/courses/30/lessons/120844)

 

📝풀이

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

 

"right"일 경우

=> numbers 리스트 끝의 데이터를 맨 앞으로 가져와서 리스트로 씌워준다(숫자 1개이므로)

=> 처음부터 끝의 전 데이터까지 슬라이싱해서 뒤에 붙여준다

 

"left"일 경우

=> numbers 리스트 첫 데이터 다음부터 끝까지 슬라이싱한다

=> 첫 데이터를 제일 끝에 붙여준다

 

 

+ pop 개념 사용

def solution(numbers,direction):
	last_element = numbers.pop() # 리스트의 마지막 원소 꺼내기
    numbers.insert(0,last_element) # 꺼낸 원소 리스트 제일 앞에 넣기
    return numbers

 

728x90