ADT 계약 점검

큐 반환 규칙

`push`, `pop`, `enqueue`, `dequeue`가 모두 `O(1)`이어도 빈 입력과 용량 초과 정책이 흔들리면 같은 코드가 테스트마다 다른 의미를 갖습니다.

실패가 자주 시작되는 호출

stack

빈 스택에서 pop

`-1`, `None`, 예외 중 하나를 문제 조건에 맞춰 고정합니다.

pop() -> -1
queue

빈 큐에서 dequeue

`front`와 `dequeue`가 같은 빈 규칙을 공유해야 합니다.

front() -> -1
capacity

가득 찬 큐에 enqueue

`drop-oldest`라면 앞 원소를 버린 뒤 새 값을 뒤에 붙입니다.

[1,2,3] + 4 -> [2,3,4]
snapshot

상태 출력 순서

큐는 `front`부터, 스택은 `top`부터 볼지 출력 기준을 명시합니다.

front -> rear
큐 반환 규칙 읽는 순서

ADT 문제는 구현 줄 수보다 호출 계약이 먼저입니다. 빈 구조 반환, 꽉 찬 큐 정책, 출력 방향을 표에 적고 코드가 그 표를 그대로 따르는지 확인합니다.