AI Native 레벨별 코테

레벨 1 · 기초 · 데이터와 입력

커서 페이지네이션 버그 고치기

원본 변경과 커서 경계 오류가 있는 코드를 고칩니다.

문제 설명

function solution(items, cursor, size)를 작성하세요. 입력과 출력은 모두 JSON으로 표현 가능한 값입니다. 입력 배열과 객체를 직접 변경하면 안 돼요. 외부 라이브러리, 네트워크 요청, 비동기 함수는 사용할 수 없어요. items:{id:string,...JSON}[]의 id는 고유합니다. cursor:string|null, size:number. size가 양의 정수가 아니면 10, 100을 넘으면 100. cursor=null이면 처음부터, 아니면 일치하는 id의 다음 항목부터 최대 size개. 알 수 없는 cursor는 {items:[],nextCursor:null}. 남은 항목이 있을 때만 nextCursor를 이번 페이지 마지막 id로 지정합니다. 반환 형태 {items,nextCursor}; 원본 배열을 바꾸지 마세요. 입력 범위: 각 입력 배열은 최대 50,000개 항목, 문자열은 최대 1,000자입니다. 숫자는 유한한 값이며, 정수와 합산 결과는 JavaScript의 안전한 정수 범위 안에 있습니다. 그 외 자료형과 유효성 조건은 위 규칙을 따릅니다.

입출력 예시

예시 1

함수 인자

[
  [
    {
      "id": "a"
    },
    {
      "id": "b"
    },
    {
      "id": "c"
    }
  ],
  null,
  2
]

반환값

{
  "items": [
    {
      "id": "a"
    },
    {
      "id": "b"
    }
  ],
  "nextCursor": "b"
}
예시 2

함수 인자

[
  [
    {
      "id": "a"
    },
    {
      "id": "b"
    }
  ],
  "a",
  1
]

반환값

{
  "items": [
    {
      "id": "b"
    }
  ],
  "nextCursor": null
}
예시 3

함수 인자

[
  [
    {
      "id": "__proto__"
    }
  ],
  null,
  1
]

반환값

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

217 / 20,000자

내 테스트 추가 · 선택

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

예제 검증 파일

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

node verify-repair-pagination.mjs
문의하기

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

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