정글에 입소한지 2주차가 됐다. 여전히 알고리즘 주간이기 때문에 알고리즘을 푸는 데 온 힘을 쏟고 있다. 이번주는 Queue, Stack, DFS, BFS, 위상정렬을 학습하는 주인데, 큐와 스택의 경우에 개념 자체는 쉬워서 그런가 문제가 까다로웠고 문제를 푸는 시점 자체를 좀 바꿔서 본다던가 어떠한 형태의 배열을 스택처럼 바꿔서 본다던가 하는 어려움이 있었다. 그래프 탐색 문제는 개념 자체가 어려워서 그런지 문제는 오히려 좀 쉽게 풀었다. 문제를 풀던 중 막히는 문제가 있어 다른 분의 코드를 보면서 공부를 하는 데 정글을 수료하신 분 중 에 블로그에 자신의 코드를 공유하신 분이 있었다. 그 분의 코드는 내가 푸는 방식과 상당히 유사하여 내 코드에 추가하거나 변경하기 좋았고, 그 분의 코드를 보면서 좀 더 최적화를 한다거나 하는 쪽으로 더 공부를 했다.
위상정렬의 경우에 아예 처음해보는 주제여서 처음에 많이 버벅였는데, 개념을 정리하고 블로그와 위키피디아 등을 참고하여 공부하고 나서는 BFS와 별 다를 게 없다는 걸 알게 되었고 문제도 잘 풀었다. 그러던 중에 다시 막히는 문제가 있었는 데, 그 이유는 내가 학습한 자료에서는 외차수(outdegree)로 푸는 방법으로 되어 있어서 내차수(indegree)로 푸는 방법을 아예 생각조차 하지 못하고 있었던 것이었다. 그 것을 알게 된 후 문제를 바라보고 해결하는방식에서의 시각을 좀 더 다양하게 고려해봐야 한다는 생각이 들었다.
예전에 코테 문제를 조금 본 적이 있었는 데 그 때 당시에 BFS, DFS 같은 탐색 문제가 어려웠었던 것 같아 이번 시험이 조금 걱정되었다. 그래서 시험 당일에 새벽 6시에 나와 아침에 공부를 좀 더 추가적으로 했는 데, 추가적으로 공부한 덕분에 시험 문제를 모두 풀고도 30분 이상 시간이 남았다. 새벽에 나온 보람이 있었다. 시험을 치고나서 이른 시간에 들어가 달콤한 잠을 잤다.
다음 주에는 DP와 그리디를 다루는 데, 둘 다 아예 기억조차 나지 않는 주제여서 조금 걱정이 된다. 그래도 그리디는 얼추 어떤 느낌인 지 아는 데 DP는 점화식을 찾아야 하는 문제였던 것아서 머리가 아플 것 같다. 주변 사람들에게 물어보니 다들 DP를 걱정하는 눈치였다. 머리아픈 3주차가 될 것 같다.
살면서 이렇게 알고리즘에만 몰입할 수 있는 날이 얼마나 있을까라는 생각이 든다. 앞으로 두번 다시 주어지지 않을 수도 있는 시간이니 지금에 최선을 다해 공부를 하고 싶다.
'SW사관학교 정글 > 정글일지' 카테고리의 다른 글
[WEEK04] 탐험준비 - Red-Black Tree (0) | 2024.08.16 |
---|---|
[WEEK03] 컴퓨팅 사고로의 전환 (0) | 2024.08.15 |
[WEEK01] 컴퓨팅 사고로의 전환 (0) | 2024.08.15 |
[WEEK00] 정글 입성 (0) | 2024.08.15 |
블로그를 시작하며 (1) | 2024.08.14 |