Implementation (Part 1)
Coddy의 병합 정렬 - DSA 시리즈 코스 레슨 — 9개 중 5번째.
우리는 병합 정렬(Merge Sort)을 핵심 동작부터 차근차근 구축해 나갈 것입니다.
챌린지
쉬움병합 정렬(Merge Sort)의 핵심은 이미 정렬된 두 개의 리스트를 하나의 정렬된 리스트로 합치는 것입니다. 먼저 이것을 구현해 봅시다.
두 개의 정렬된 정수 배열 left와 right를 매개변수로 받아, 모든 요소를 포함하는 하나의 정렬된 배열을 반환하는 merge라는 이름의 함수를 작성하세요.
두 배열을 동시에 탐색하세요. 두 배열의 맨 앞에 있는 요소 중 더 작은 값을 반복해서 가져옵니다. 한쪽 배열의 요소가 모두 소진되면, 다른 쪽 배열에 남은 모든 요소를 결과에 추가합니다.
직접 해보기
#include <stdlib.h>
int* merge(int* left, int left_size, int* right, int right_size, int* returnSize) {
// 여기에 코드를 작성하세요
*returnSize = 0;
return left;
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
병합 정렬 - DSA 시리즈의 모든 레슨
2The Algorithm
How it works?Pseudo CodeImplementation (Part 1)Implementation (Part 2)