Divide 큰 문제를 작은 문제로 쪼개는 것
Conquer 작은 문제들을 다시 합치는 것
Top-down approach : divide -> conquer -> combine
시간복잡도 time complexity :
정렬된 배열에서는 최악의 경우에도 optimal algorithm!