Python · 슬라이싱·연습 문제

리스트 슬라이싱

문제 설명PROBLEM

리스트 슬라이싱

문제

values에서 start 이상 end 미만 구간을 슬라이싱해 반환하세요.

구현할 함수

slice_range(values, start, end) -> list

입력

JSON 객체 {"values": 배열, "start": 정수, "end": 정수}

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

함수 반환값을 공백 없는 JSON 한 개로 출력합니다.

구현 조건

  • 리스트 슬라이싱 values[start:end]을 사용하세요.
  • 원본 리스트를 변경하지 마세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1가운데 구간{"values":[1,2,3,4,5],"start":1,"end":4}[2,3,4]
2빈 구간{"values":[1,2,3],"start":2,"end":2}[]
3음수 인덱스{"values":["a","b","c","d"],"start":-3,"end":-1}["b","c"]
개념 노트와 실수 포인트

슬라이싱

  • a[시작:끝:스텝], ⚠️ 끝 인덱스는 제외. 생략 가능: a[:3], a[2:].
  • 음수 인덱스: a[-1] 마지막, a[-2] 뒤에서 둘째.
  • a[::-1] 전체 역순, a[::2] 2칸씩.
  • ⚠️ 역순 스텝 a[6:1:-2] 는 6→2까지 -2씩(끝 1 제외).
  • 슬라이스에 할당하면 길이가 바뀔 수 있음: a[1:3]=[9,9,9].