아래 글은 'Introduction to Algorithms(한빛아카데미)'와 분할 정복 블로그 를 보고 정리한 것이다. 대표 문제 백준 6549번: 히스토그램에서 가장 큰 직사각형 분할 정복 분할 정복(Divide and Conquer)은 (1) 분할과 (2) 정복, (3) 결합의 세 가지 단계를 거치면서 재귀적으로 문제를 해결한다. 분할: 현재의 문제와 동일하되 입력의 크기가 크기, 또는 문제의 크기를 더 작은 부분 문제로 분할한다. 정복: 부분 문제를 재귀적으로 풀어서 정복한다. 부분 문제의 크기가 충분히 작으면 직접적인 방법으로 푼다. 결합: 부분 문제의 해를 결합해 원래 문제의 해가 되도록 만든다. 부분 문제가 재귀적으로 풀 수 있을 만큼 충분히 클 때, 재귀 대상이라고 한다. 부분 문제가 충분..
회고 오늘도 늦잠이다. 11시 출근이다. 1시간 공부하고 바로 점심먹으러 내려왔다. 대충 편의점 도시락으로 떼우고 공부를 시작했다. 오늘은 하루종일 알고리즘에 집중했다. 2주차 과제부터 어려운 문제가 많아 좀 힘들다. 이분탐색과 분할정복 자체가 개념은 쉽지만, 문제 풀이에 써먹기는 굉장히 어려운 알고리즘이라 헤매는 중이다. 실버 문제는 괜찮지만 골드 문제만 되도 솔루션이 안 떠오르기도 하고, 1시간 고민해도 알 수 없어서 솔루션 보기가 부지기수다. 그래도 1시간 이상 고민하는건 시간낭비이므로, 차라리 솔루션을 보고 제대로 이해해서 내 것으로 만드는 편이 낫다. 그것 그렇고, 알고리즘 문제 풀이는 시간을 정말 많이 잡아먹는다.. 골드 문제는 문제 읽기+풀이+솔루션 해석 및 이해에 거의 2시간이 소요된다. ..