AI Native 레벨별 코테

레벨 3 · 심화 · 구조와 효율

겹침 있는 RAG 청크 분할

청크 겹침과 마지막 구간의 경계 오류를 해결합니다.

문제 설명

function solution(tokens, size, overlap)를 작성하세요. 입력과 출력은 모두 JSON으로 표현 가능한 값입니다. 입력 배열과 객체를 직접 변경하면 안 돼요. 외부 라이브러리, 네트워크 요청, 비동기 함수는 사용할 수 없어요. tokens:JSON[], size:1~1024 정수, overlap:0 이상 size 미만 정수. 시작은 0, 다음 시작은 이전 시작+size-overlap. 각 청크는 {start,end,tokens}, end는 min(입력길이,start+size)이며 end는 제외 인덱스입니다. 입력 끝을 포함하는 청크를 만든 즉시 멈춥니다. 빈 입력은 []. 토큰을 문자열로 변환하거나 합치지 마세요. 입력 범위: 각 입력 배열은 최대 50,000개 항목, 문자열은 최대 1,000자입니다. 숫자는 유한한 값이며, 정수와 합산 결과는 JavaScript의 안전한 정수 범위 안에 있습니다. 그 외 자료형과 유효성 조건은 위 규칙을 따릅니다.

입출력 예시

예시 1

함수 인자

[
  [
    "a",
    "b",
    "c",
    "d",
    "e"
  ],
  3,
  1
]

반환값

[
  {
    "start": 0,
    "end": 3,
    "tokens": [
      "a",
      "b",
      "c"
    ]
  },
  {
    "start": 2,
    "end": 5,
    "tokens": [
      "c",
      "d",
      "e"
    ]
  }
]
예시 2

함수 인자

[
  [
    "a",
    "b",
    "c",
    "d"
  ],
  2,
  0
]

반환값

[
  {
    "start": 0,
    "end": 2,
    "tokens": [
      "a",
      "b"
    ]
  },
  {
    "start": 2,
    "end": 4,
    "tokens": [
      "c",
      "d"
    ]
  }
]
예시 3

함수 인자

[
  [
    null,
    true
  ],
  3,
  0
]

반환값

[
  {
    "start": 0,
    "end": 2,
    "tokens": [
      null,
      true
    ]
  }
]
연습에는 포인트·제한 시간·제출 횟수가 없습니다. AI와 검색을 자유롭게 활용하고, 로그인 후 공개 예제를 실행하거나 로컬에서 검증하세요.

75 / 20,000자

내 테스트 추가 · 선택

tokens, size, overlap 순서의 인자를 JSON 배열로 입력하세요. 예제 3개와 이 테스트를 함께 실행합니다.

예제 검증 파일

두 파일을 같은 폴더에 저장하고 Node.js로 아래 명령을 실행하세요. 결과의 checks에서 예제별 통과 여부를 볼 수 있습니다.

node verify-token-chunker.mjs
문의하기

서비스명: 포트포올
문의는 운영자에게 이메일로 전송됩니다.

이메일과 문의 내용은 답변을 위해 운영자 및 메일 발송 서비스로 전송됩니다. 비밀번호·결제정보·민감한 개인정보는 입력하지 마세요.