060. 큐 자료구조
Medium
바이브코딩
MCPDataStructureQueue
문제 설명
[문제]
큐(queue) 자료구조를 제공하는 MCP 서버를 구현하시오.
큐는 "먼저 넣은 것이 먼저 나오는" FIFO(First In First Out) 구조이다. 줄을 서는 것과 같아서, 맨 뒤로 들어가고 맨 앞에서 빠져나간다. 예를 들어 5, 10 순서로 넣으면 꺼낼 때도 5가 먼저, 그 다음 10이 나온다.
[구현할 함수]
- enqueue(value: int) -> int
큐의 뒤(맨 끝)에 value를 추가한다. 추가한 뒤의 큐 크기를 반환한다.
- dequeue() -> int
큐의 앞(맨 처음) 원소를 제거하고 그 값을 반환한다. 큐가 비어 있으면 -1을 반환한다.
- peek() -> int
큐의 앞 원소 값을 반환한다(제거하지 않음). 큐가 비어 있으면 -1을 반환한다.
- get_size() -> int
현재 큐에 들어 있는 원소 개수를 반환한다.
[입력·상태]
서버는 정수들의 큐를 상태로 유지한다. 초기 상태는 빈 큐이다.
[제약]
- 저장하는 값은 정수(int)이다.
- 빈 큐에서 dequeue, peek를 호출하면 예외 없이 -1을 반환한다.
[예시]
enqueue(5) -> 1 # 빈 큐에 5 추가, 크기 1
enqueue(5); dequeue() -> 5 # 넣은 5가 앞에서 나옴
enqueue(5); enqueue(10); peek() -> 5 # FIFO: 앞은 먼저 넣은 5
enqueue(5); get_size() -> 1
dequeue() -> -1 # 빈 큐 (경계)
peek() -> -1 # 빈 큐 (경계)
get_size() -> 0 # 빈 큐 (경계)
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.