
2주차에는 이분탐색, 분할정복, 스택, 큐, 우선순위 큐 등의 주제를 다루게 되었다.
각 주제들을 처음 훑어봤을 때 스택이나 큐의 경우 첫인상만 봐서는 재귀에 비해서 정말 쉬울 줄 알았다. 그러나 막상 문제를 풀게 되었을 때 가장 까다로웠던 것이 바로 스택과 큐였다. 스택과 큐 자체의 개념이 간단한 만큼 활용 가능한 범위가 매우 다양했기 때문이다.
이번 주차에는 이전 주차에 비해 더 복잡한 내용들을 다루기 시작하다보니, 지난주와는 비교도 안되게 시간초과로 인한 실패를 많이 마주치게 되었다. 많은 문제들에서 O(N^n)의 시간복잡도가 나오는 완전탐색 방법 대신 스택을 활용하여 시간복잡도를 줄여줘야 했는데, 아직 그 방법에 대해서 그리고 이 방법이 어떻게 시간복잡도를 줄여줄 수 있는지에 대해서 감이 잘 오지 않는 것 같다. chatGPT에게 시간복잡도에 대해 꼬치꼬치 물어가며 감을 잡으려 노력해봤으나 아직이다..
이번주에 아쉬웠던 것은 더 많은 문제를 풀어보지 못한 것이었다. 주어진 문제모음에서 스스로의 힘으로 풀지 못하는 문제들과 풀이가 쉽게 이해가 가지 않는 문제들이 너무 많이 시간을 많이 잡아먹었던 것 같다. 열심히 노력한 결과 주어진 문제 셋은 겨우겨우 다 풀 수 있었지만 시험이 너무 어려워 좌절하고 말았다.
매주 이전 주차의 내용을 기반으로 더 심화된 내용들을 공부하게 되는 것 같던데, 이번주에 충분히 쌓지 못한 개념까지 함께 다루며 다음주 내용까지 공부하려면 쉽지 않을 것 같다는 생각이 든다. 그래도 이번주에 느꼈던 나의 부족한 부분들을 다음주에는 더 보완하려고 한다. 이번주의 실패를 통해 다음주에는 더 잘해낼 수 있을거라 생각한다...!