[프로그래머스] 파이썬 리스트 자르기

ybk·2023년 9월 23일
0

프로그래머스

목록 보기
52/236

Lv.0 리스트 자르기

문제 설명

정수 n과 정수 3개가 담긴 리스트 slicer 그리고 정수 여러 개가 담긴 리스트 num_list가 주어집니다. slicer에 담긴 정수를 차례대로 a, b, c라고 할 때, n에 따라 다음과 같이 num_list를 슬라이싱 하려고 합니다.

  • n = 1 : num_list의 0번 인덱스부터 b번 인덱스까지
  • n = 2 : num_list의 a번 인덱스부터 마지막 인덱스까지
  • n = 3 : num_list의 a번 인덱스부터 b번 인덱스까지
  • n = 4 : num_list의 a번 인덱스부터 b번 인덱스까지 c 간격으로 올바르게
    슬라이싱한 리스트를 return하도록 solution 함수를 완성해주세요.

입출력

코드 풀이

def solution(n, slicer, num_list):
    answer = []
    if n == 1:
        answer =  num_list[0:slicer[1]+1]
    elif n == 2:
        answer =  num_list[slicer[0]:]
    elif n == 3:
        answer =  num_list[slicer[0]:slicer[1]+1]
    elif n == 4:
        answer =  num_list[slicer[0]:slicer[1]+1:slicer[2]] 
    return answer

다른 사람 풀이

def solution(n, slicer, num_list):
    a, b, c = slicer
    return [num_list[:b + 1], num_list[a:], num_list[a:b + 1], num_list[a:b + 1:c]][n - 1]
  • 'a, b, c = slicer' : 여러 개의 값을 한 번에 언패킹

출처: 프로그래머스 코딩테스트 연습

profile
개발자 준비생~

0개의 댓글