SW사관학교 정글/정글일지

[WEEK01] 컴퓨팅 사고로의 전환

아크리미츠 2024. 8. 15. 18:07

사관학교 정글에서의 1주차부터 3주차는 알고리즘 학습 구간이다. 나는 비전공자이긴 하지만 중학생때 형을 따라 다니던 컴퓨터학원에서 알고리즘을 배웠었다. 그 때 당시에 재밌게 했었던 기억이 난다. 너무 오래돼서 다 까먹었을 줄 알았는 데 그래도 가물가물하게 하노이탑 정도는 기억이 났다. 거의 보자마자 머릿속 어디가에 있던 기억이 스물스물 올라와서 재귀함수를 만들어 줬다. 이번주에 알고리즘 공부를 하면서 느낀건 내가 남들보다 알고리즘을 잘하지는 못하지만 풀이방법에 대한 접근 자체는 그래도 어느정도 짬바가 나온다 싶었다.

  입소 전에 전공자나 현직자랑 같이 면접을 봤었어서 나빼고 다 잘할 것 같다는 부담감이 엄청 컸었다. 그러나 입소 후에 이야기를 나눠본다던가 알고리즘에 대한 접근 방법 같은 이야기를 나눠보면 정말 특출난 사람 몇 명을 제외하면 다 비슷한 것 같다는 생각이 들었다. 프로그램을 잘 짠다거나 툴을 잘 만진다거나 하는 건 못 따라갈 것 같지만 알고리즘이라면 내가 열심히 몰입한다면 그래도 어느정도 따라갈 수 있을 것 같았다. 그래서 모든걸 다 때려치우고 알고리즘 공부에만 몰입해서 일요일 오전에는 과제로 주어졌던 모든 문제를 풀 수 있었다. 정글의 사람들을 모아놓고 몰입하는 시스템이 생각보다 더 좋다는 걸 새삼스럽게 느꼈다. 이 정도로 내가 몰입해서 자발적으로 공부를 한 적이 프로게이머 때 외에 있었던가? 라는 생각이 들었다. 그 후로 기숙사에 잘 들어가지 않는다. 나의 나태함을 경계하기 위함이다. 기숙사에 혼자 공부하다가 침대에 누워서 쉬고 싶어하는 나를 제어할 수 있을 것이라는 생각이 들지 않았다. 그래서 항상 강의동에 박혀 있었다.

  같은 팀에 수학과를 나온 정글러가 있었다. Y라고 부르자면 Y에게 몇가지 점화식이나 수학적인 시점으로 보는 방법들을 배웠다. 정글러들의 전공이 모두 다른게 이런 장점도 있는 것 같다. Y는 완전 노베이스여서 알고리즘을 어떻게 공부해야할 지 조차 모르는 사람이었다. 그래서 Y에게 그런 방법을 배우고 대신 나는 내가 알고리즘 공부하는 방법을 알려줬다. 수학과 학생들 특징이 자기가 못푸는 문제를 만나면 풀 때까지 머리박고 푸는거라던데 Y가 딱 그런 모양이었다. 그런데 알고리즘은 머리싸매고 풀기보다는 모르는 유형의 문제가 나오면 차라리 다른 사람이 어떤방법으로 풀었는지 보고 그 방법을 학습해서 나의 것으로 만드는게 중요하다고 생각한다. 그래야 시야가 넓어지기 때문이다. 그러나 Y는 자신의 방법을 포기하지 못했고 결국 1주차의 과제를 완수하는 데 실패했다. 다음주에는 다른 방법으로 팀과 알고리즘을 풀어봐야겠다는 생각이 들었다.

  1주차가 끝나고 4문제의 시험이 나왔는데 그중에 4문제를 모두 풀었다. 시간은 1시간 반이었는데 정말 아슬아슬하게 2분정도 남기고 다 푼 것 같다. 문제는 하중상중 정도의 느낌이었는데 코치님이 예전에 알고리즘을 준비하면서 자신이 풀 수 있는 문제인지 아닌지 감을 잡고 못 풀 것 같으면 다른 문제부터 푸는 기법이 필요하다고 하셨는데 아마 그를 위한 문제의 배열인 것 같았다. 3번 문제를 40분정도면 풀 것 같았는데 에러가 자꾸 발을 붙잡아서 15분정도를 더 잡아먹었다. 그러나 4번 문제가 기출문제 수준이어서 거의 10분만에 해결하면서 모든 문제를 시간 내에 제출할 수 있었다. 다음에는 할 수 있던 말던 일단 쉬운 문제부터 푸는 습관을 들이는 게 좋을 것 같다.