문제 › 061

061. 연결 리스트

Medium 바이브코딩 MCPDataStructureLinkedList
문제 설명
[문제] 단방향 연결 리스트(linked list)를 제공하는 MCP 서버를 구현하시오. 연결 리스트는 값을 담은 노드들이 한 줄로 이어진 자료구조이다. 각 노드는 "다음 노드"를 가리키며, 한 방향으로만 따라갈 수 있다. 동작 결과를 확인하기 쉽도록, 모든 함수는 현재 리스트 전체를 앞에서 뒤 순서의 정수 배열로 반환한다. [구현할 함수] - append(value: int) -> array<int> 리스트의 끝에 value 노드를 추가한다. 추가 후 전체 리스트를 배열로 반환한다. - prepend(value: int) -> array<int> 리스트의 맨 앞에 value 노드를 추가한다. 추가 후 전체 리스트를 배열로 반환한다. - delete_node(value: int) -> array<int> value와 처음으로 일치하는 노드 하나만 제거한다. 일치하는 값이 없으면 리스트는 변하지 않는다. 처리 후 전체 리스트를 배열로 반환한다. - to_list() -> array<int> 현재 리스트 전체를 앞에서 뒤 순서의 배열로 반환한다. [입력·상태] 서버는 정수 노드들의 단방향 연결 리스트를 상태로 유지한다. 초기 상태는 빈 리스트이다. [제약] - 저장하는 값은 정수(int)이다. - delete_node는 첫 번째 매칭만 제거한다. 없는 값을 지우면 변화가 없다. - 빈 리스트에서의 반환은 빈 배열 [] 이다. [예시] append(10) -> [10] prepend(5) -> [5] prepend(5); append(10) -> [5, 10] # 앞에 5, 뒤에 10 append(10); delete_node(10) -> [] # 추가했던 10 제거 delete_node(10) -> [] # 없는 값 제거, 변화 없음 (경계) to_list() -> [] # 초기 빈 상태 (경계)
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.