Python · 슬라이싱·연습 문제

슬라이싱 할당

문제 설명PROBLEM

슬라이싱 할당

문제

values 복사본의 start:end 구간을 replacement 배열로 교체해 반환하세요.

구현할 함수

replace_slice(values, start, end, replacement) -> list

입력

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

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

출력

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

구현 조건

  • 슬라이싱 할당 result[start:end] = replacement를 사용하세요.
  • 원본 values를 변경하지 마세요.

공개 테스트

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

#이름InputExpected output
1길이 증가{"values":[1,2,3,4,5],"start":1,"end":3,"replacement":[20,30,40]}[1,20,30,40,4,5]
2구간 삭제{"values":[1,2,3],"start":1,"end":3,"replacement":[]}[1]
3빈 위치 삽입{"values":["a","c"],"start":1,"end":1,"replacement":["b"]}["a","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].