Python · 슬라이싱·연습 문제

스텝·역순 슬라이싱

문제 설명PROBLEM

스텝·역순 슬라이싱

문제

values를 step칸씩 고른 리스트와 values의 역순 리스트를 함께 반환하세요.

구현할 함수

step_and_reverse(values, step) -> list[list]

입력

JSON 객체 {"values": 배열, "step": 양의 정수}

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

출력

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

구현 조건

  • 스텝 슬라이싱 values[::step]을 사용하세요.
  • 역순은 values[::-1]로 만드세요.

공개 테스트

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

#이름InputExpected output
1두 칸씩{"values":[1,2,3,4,5,6],"step":2}[[1,3,5],[6,5,4,3,2,1]]
2한 칸씩{"values":["a","b"],"step":1}[["a","b"],["b","a"]]
3빈 리스트{"values":[],"step":3}[[],[]]
개념 노트와 실수 포인트

슬라이싱

  • 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].