094. 간단 정렬 비교기
Hard
바이브코딩
MCPAlgorithmSort
문제 설명
[문제]
정렬 알고리즘을 직접 구현해보는 학습용 MCP 서버를 구현한다.
같은 "오름차순 정렬"이라도 방법은 여러 가지다. 이 서버는 세 가지 고전 정렬을 각각 손으로 구현해 같은 결과를 내도록 한다(목적은 알고리즘 학습).
- 버블 정렬(bubble sort): 이웃한 두 원소를 비교해 자리를 바꾸기를 반복. 느림(O(n^2)).
- 머지 정렬(merge sort): 절반씩 나눠 정렬한 뒤 합치기. 빠름(O(n log n)).
- 퀵 정렬(quick sort): 기준값을 정해 작은 것/큰 것으로 가르기를 반복. 평균 빠름(O(n log n)).
세 함수 모두 입력 배열을 오름차순으로 정렬한 새 배열을 반환한다.
[구현할 함수]
- bubble_sort(array: array<int>) -> array<int>
버블 정렬로 오름차순 정렬한 새 배열을 반환한다.
- merge_sort(array: array<int>) -> array<int>
머지 정렬로 오름차순 정렬한 새 배열을 반환한다.
- quick_sort(array: array<int>) -> array<int>
퀵 정렬로 오름차순 정렬한 새 배열을 반환한다.
[입력·상태]
별도의 상태를 유지하지 않는다. 입력은 정수 배열이다.
[제약]
- 입력과 반환은 정수 배열이다.
- 세 함수의 결과는 모두 동일(오름차순)하다. 중복 값도 그대로 유지한다.
- 언어에 내장된 정렬 함수에 의존하지 말고 알고리즘을 직접 구현한다.
[예시]
bubble_sort([5, 2, 9, 1, 5, 6]) -> [1, 2, 5, 5, 6, 9]
merge_sort([3, 1, 4, 1, 5, 9]) -> [1, 1, 3, 4, 5, 9]
quick_sort([8, 7, 6, 5, 4, 3, 2, 1])-> [1, 2, 3, 4, 5, 6, 7, 8]
로그인하고 풀기
AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.