Python · 슬라이싱·연습 문제

슬라이싱 범위

문제 설명PROBLEM

슬라이싱 범위

문제

text에서 start:end, 처음부터 prefix_end, suffix_start부터 끝까지의 세 구간을 반환하세요.

구현할 함수

three_text_slices(text, start, end, prefix_end, suffix_start) -> list[str]

입력

JSON 객체 {"text": 문자열, "start": 정수, "end": 정수, "prefix_end": 정수, "suffix_start": 정수}

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

출력

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

구현 조건

  • text[start:end], text[:prefix_end], text[suffix_start:] 세 슬라이스를 사용하세요.
  • 끝 인덱스 제외 규칙을 지키세요.

공개 테스트

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

#이름InputExpected output
1원본 범위{"text":"abcdefg","start":2,"end":5,"prefix_end":3,"suffix_start":4}["cde","abc","efg"]
2전체와 빈 구간{"text":"abc","start":0,"end":3,"prefix_end":0,"suffix_start":3}["abc","",""]
3한글{"text":"가나다라마","start":1,"end":4,"prefix_end":2,"suffix_start":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].