029. 스택 자료구조
Medium
바이브코딩
MCPDataStructureStack
문제 설명
[문제]
스택(stack) 자료구조를 제공하는 MCP 서버를 구현한다. 스택은 나중에 넣은 값이 먼저 나오는(LIFO, Last-In-First-Out) 구조다. 접시를 위로 쌓았다가 위에서부터 꺼내는 것과 같다.
서버 인스턴스 내부에 스택 상태를 유지하며, 각 함수 호출이 그 상태를 갱신한다.
[입력/상태]
- 서버는 값들의 스택 하나를 내부 상태로 유지한다. 초기 상태는 비어 있다.
[구현할 함수]
- push(value: int) -> int
스택 맨 위에 value를 추가하고, 추가 후 전체 크기를 반환한다.
- pop() -> int
스택 맨 위 값을 제거하고 그 값을 반환한다. 비어 있으면 -1.
- peek() -> int
스택 맨 위 값을 제거하지 않고 반환한다. 비어 있으면 -1.
- get_size() -> int
현재 스택 크기를 반환한다.
[제약]
- pop, peek는 빈 스택에서 -1을 반환한다.
[예시]
push(10) -> 1 # 빈 스택에 추가하면 크기 1
push(10) 후 pop() -> 10
push(10), push(20) 후 peek() -> 20 # 맨 위 값, 제거 안 함
pop() -> -1 # 경계: 초기 빈 상태
peek() -> -1 # 경계: 초기 빈 상태
get_size() -> 0 # 경계: 초기 빈 상태
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.