본문 바로가기
Python/파이썬 알고리즘

[파이썬 알고리즘 Prologue] 아무리 생각해도 나는 코딩 초보다

by 서원두 2022. 7. 7.

내 인생을 몇 번 곱씹어봐도 나는 코딩 초보밖에 되지 않는다고 생각한다. 지금도 그렇게 생각한다.

이걸 지독하게 느낀 때가 대학교 2학년 2학기 파일처리론을 들었을 때다. 2016년 때 일이다.

C언어로 했던 기억이 나는데, 파일을 직접 불러오고, 포인터를 이용해서 swap하고, 다시 저장하는 과제가 첫 번째였다.

다행히 2학년 1학기 때 열심히 자료구조를 듣고 과제를 다 내서 과제 제출 마감 30분 전에 냈던 기억이 난다.

하지만 그 과목에서 제대로 낸 과제는 그거 하나뿐이었다.

B+ 트리를 갑자기 짜라니... C로 짜라는 hash는 너무 어려웠고, 마지막 과제는 트라이(Trie)였다.

난 결국 첫 번째를 제외한 다른 모든 과제들은 기본 점수만 받았고, 대학교에 와서 처음으로 좌절했다.

여기서 제대로 한건 1번 뿐이다

이 과목 말고도 이런저런 코딩 과목들을 접하면서 느꼈던 내 코딩 실력이 너무 낮았기에 더더욱 좌절했던 것 같다.

실제로 2학년 2학기 학점이 전체 학기를 통틀어서 가장 저조하다. 유일하게 3.5/4.3을 못 넘긴 학기다.

그 전학기까지만 해도 4점대였던 학점이 곤두박질쳤다. 현실의 벽을 못 넘은 좌절감이 컸었다.

아마 그때 이후로 내가 고등학생 때부터 가장 소중하게 여겼던 첫 꿈인 게임 프로그래머를 포기했었다.

사실 계속 붙들고 지독하게 코딩해야 했던 게 맞는 방향이었다. 근데 계속 붙들기엔 그 당시의 내가 너무 지쳤었다.

그 이후로 방향성을 완전히 잃었고, 2017년에 군대로 도망쳤다고 보는 것이 맞을 수준의 도피입대를 했다.

물론 그 도피는 단 1달 만에 내가 알고 보니 신의 아들이라는 말과 함께 끝났고, 결국 1년 만에 3학년으로 복학했다.

내 학부 자료 중 2017년만 없다

시간은 남들보다 1~2년 벌었지만 여전히 꿈을 잃은 상태에서 복학했던 내가 우연히 들은 수업이 있다.

3학년 2학기 때 만났던 수치해석 과목이 없었다면 지금의 난 없었을지도 몰랐을 것이다.

내 모교인 연세대 미래캠의 컴정학부(현 SW학부) 사람들은 수학을 심각하게 싫어했다. 이는 슬프게도 현재 진행형이다.

난 그들과 다른 길을 걸었던 것이다. 남들 다 코딩할 때 난 책에 있는 수식과 개념을 더 공부했다.

그걸 바탕으로 수학적으로 더 깊게 배우기를 갈망했고, 그걸 대학원에서 이뤘던 것 같다.

내가 국내 1개 해외 1개 컨퍼런스 발표 + 대학원을 졸업할 수 있게 만든 AI 코드 중 일부

하지만 현실은 현실이다.

내가 원하는 것을 얻어내기 위해서는 코딩 실력은 기본적으로 필요했다.

그러니 절대로 알고리즘 과목을 버리지 않기를 바란다. 버리는 순간 나처럼 마지막에 개고생 하면서 공부해야 한다.

어쩔 수 없이 백준을 접했다. 그리고 많은 변화가 생겼다.

과거엔 할 줄 아는 게 C언어뿐이었고, 개인적으로 구현 난이도가 워낙 높아서 엄청 고생했는데, 현재 내 주력 언어는 Python 3이다.

모든 방향에서 생각하고 쓰는 것이 쉽다. 이게 되나 싶으면 진짜 되었다. 자신감이 올랐다.

그래서 더더욱 깊게 몰입했고, 지금은 그래도 그럭저럭 괜찮은 실력까지 끌어올렸다.

코딩하는게 즐거워진 현재다

나의 경우엔 짬이 있고 시간은 적은 상태에서 빠르게 개념을 흡수해야 하는 상황이다.

어쩔 수 없이 선 코드 외우기 - 후 이해 방법을 써야만 했다. (개인적으로 비전공자에겐 매우 비추천하는 방법이다)

이 방법으로 이해한 기본적인 방법론들을 시간 날 때마다 하나씩 아카이빙 할 예정이다.

최대한 모든 이들이 알아듣기 쉽게 작성해볼 예정이다. 그래야 내가 이해한 것이라는 내 지론에 따른 것이다.

 

만약 글을 읽다가 잘못된 부분을 찾았거나 궁금한 점이 있다면 언제든지 댓글을 달아주길 바란다.

728x90

댓글