대전 전민동에서 생활한 지 벌써 한 달이나 됐다. 이제 여기서 사는 것도 점점 적응되고 있다. 여전히 알고리즘의 늪에서 허우적거리는 것은 변하지 않았지만, 그래도 심리적인 압박이나 불건전한 스트레스는 많이 줄었다.
캠퍼스에서의 생활도 만족한다. 아침마다 운동하고, 빡세게 공부하고 기숙사 가자마자 기절하고. 매일 강의실에서 살다시피 하다 보니 시간을 허투루 썼다는 후회나 아쉬움은 전혀 없다. 일요일에 알람도 없이 오전을 풀로 자고 일어나도 죄책감이 없다 ㅋㅋㅋ
무엇보다 이 동네가 제일 좋은 이유 중 하나는 캠퍼스 주변에 맛집이 지이인짜 많다는 것이다. 곰탕부터 시작해서 라멘, 초밥, 삼계탕 등등 진짜 어떤 가게를 들어가도 눈 뒤집혀서 퍼먹는다. 이 동네 가게 사장님들 무림 고수들이 작은 동네에 은둔하면서 사는 그런 느낌...
여하튼 이번 주차의 알고리즘 키워드!
WEEK03 : 그래프 탐색 기본, BFS, DFS, DFS(위상정렬)
시작하기도 전에 쫄았었다. 그놈의 DFS, BFS의 악명을 많이 들어왔던 터라 이번에도 험난한 일주일을 보내겠구나... 라고 생각했다.
1. 문제 풀이
1, 2주 차 때는 과제로 주어지는 문제 수가 36, 27개였고 모든 문제들을 이해하고 풀이하는 것이 벅찼었다. 그런데 이번 주 과제의 문제 수는 12개였다.
그만큼 문제가 어렵다고 생각을 해서 DFS와 BFS, 위상정렬에 대한 개념 공부에 더 많은 시간을 할애했다. 인프런과 유튜브 영상들을 보면서 개념을 익히고 난이도 '하' 문제부터 풀었다.
다행히 '하' 문제들은 특별한 아이디어나 구현을 요구하지 않는 문제여서 쉽게 풀었다. 그리고 '중' 문제부터 바로 멘탈 털리기 시작... 어떤 방식으로 해결할 수 있는지 아이디어를 생각하기도 어려웠고, 아이디어를 얻었다고 하더라도 그것을 코드로 구현하는 것이 매우 어려웠다. ㅠㅠ
특히 '빙산' 문제는 다른 사람들의 풀이를 봐도 전혀 이해가 되지 않았다. '왜 저런 식으로 구현을 해?', 'bfs 사용하는 것과 빙산이 분리되는 것이 무슨 관계가 있는 거지?' 등 코드를 봐도 아무것도 떠오르지 않았다ㅠㅠ
그렇게 며칠을 이 문제에 매달리다가 결국 이. 해. 했다. 아... 해당 좌표와 연결되어 있는 부분들만 방문 처리하게 되면 빙산의 개수가 몇 개인지 알 수 있구나...
물론 이해했다고 해서 코드 구현까지 할 수 있었던 것은 아니다. 그래도 할 수 있을 때까지 계속 손으로 코드를 써보면서 익혔다. 어려운 문제를 풀고 나니, 이것과 비슷한 문제들을 풀었을 때 혼자서 해결할 수 있게 됐다. 개꿀.... 이게 성장이란 건가... 정글에 와서 처음으로 알고리즘이 재밌다고 생각했다..ㅋㅋㅋㅋ
(물론 지금 동적 프로그래밍, 그리디 알고리즘 공부하면서 또또또 좌절 중 ㅡㅡ..)
2. WEEK03 테스트
어김없이 테스트를 보는 목요일이 돌아왔다. 이번에도 3개의 문제가 주어졌다.
이번에는 2문제를 풀고, 마지막 문제는 테스트 케이스는 통과했지만 결국 맞추지는 못 했다. 그래도 이것만으로도 나에게는 엄청 고무적이었다. 불과 2주 전만 해도 한 문제도 못 맞히는 얼라였는데 그래도 이제는 문제를 보고 어떤 방법으로 풀지, 어떻게 구현할지를 스스로 생각하면서 풀 수 있게 되었으니...!!
아무래도 그래프 관련 문제들은 가시적으로 그리면서 푸는데 유리한 문제다 보니 다른 문제에 비해 조금은 더 쉽게 접근할 수 있었던 것 같다. 나뿐만 아니라 동기들도 3주 차가 오히려 2주 차보다 더 쉽고 재밌다고 했다.
이번 시험을 계기로 앞으로도 어려운 알고리즘을 만나도 다양하게 생각하면서 알고리즘을 짤 수 있는 자신감을 조금이나마 얻어간다... 앞으로도 뽜이팅......!
3. WEEK03 여러 이슈들
복통, 컨디션 저하
어렸을 때부터 소화 기관이 약했다. 그래서 조금만 예민해져도 배가 아팠고, 장염은 분기별로 찾아오는 반갑지 않은 손님이었다. 그나마 20대 중반 이후로 이런 경우가 많이 줄어서 다행이었는데 이번 주 월요일에 갑자기 복통이 시작됐다. 소화가 잘 안 되는 느낌이었고 헛구역질이 났다. 상비약을 구비해두지 못 해서 급한 대로 매점에서 까스활명수를 먹고 휴게실에서 한 시간 넘게 잤다.
아주 다행스럽게도 꿀잠(?) 이후 다시 멀쩡해졌다. 내 쓰레기 같은 몸이 이렇게 회복력이 좋았었나...? 정글에서 살아남기 위해서 억지로라도 몸이 공부하도록 반응하는 걸까... 뭐가 됐든 장염이 아니라서 행운이라고 여기면서 다시 공부를 할 수 있었다. 그래도 언제 또 몸이 나빠질지 모르니 꾸준히 운동하고 밥도 잘 챙겨 먹어야겠다는 다짐을 했다. 그리고 미리 소화제 등 상비약을 구매해서 가지고 다녀야겠다는 생각도!
github 이용
이번 주차 조원 중 한 명이 문제 풀고 나서 코드 정리는 어떻게 하냐고 물어봤다. 나는 구글 colab을 이용하여 정리를 한다고 했더니, 왜 github를 이용하지 않냐면서 바로 내 깃허브 계정에 repository를 만들어서 파일을 커밋하고 푸시하는 방법을 알려줬다. 깃허브에 코드를 꾸준히 올리다 보면, 나중에 다른 사람들이 내가 공부했던 것을 볼 때 참고할 수 있다고 말해줬다. ㄹㅇ 귀인... 땡큐...!!! 항상 느끼는 거지만 정글에 와서 좋은 사람들을 많이 만나는 게 가장 큰 행운 중 하나이다. 5개월 이후에도 이 사람들하고는 계속 만나고 싶음!!
나는 매 주차에 배워야 하는 내용에만 집중하자는 단기적인 생각만으로 공부를 해왔다. 지금 단계에서 앞으로 무엇을 할지 고민하는 시간보다는 빨리 새로운 것들을 배우는 것이 더 중요하다고 생각했기 때문이다.
정글의 다른 친구들도 역시 매 시간 열심히 공부하는 것은 같지만, 그들은 나와 다르게 정글 이후에 무엇이 되고 싶은지 목표가 있었다. 프론트 엔드 개발자가 되고 싶다거나 혹은 네카라쿠배나 크래프톤 취업, 아니면 스타트업 개발자로 일하기 등 현재 공부하는 것에 대한 방향성을 가지고 있다.
이들과 얘기를 나누면서 나도 '어떤 개발자가 되고 싶어?'라는 질문을 받았다. 나는 잘 모르겠다고 답했다. 정글 이후 어떤 분야의 개발자가 될지, 어떤 회사에 취업할지 등은 일절 생각하지 않고 의도적 근시안자가 되기로 했었기 때문이다. 그런데 조금씩 심리적인 여유가 생기다 보니 최소한의 방향성을 가지는 것도 공부하는데 동기부여도 될 것 같다는 생각이 들었다.
솔직히 아직까지도 프론트엔드 혹은 백엔드 개발자를 할지 정하지 않았다. 아직은 시기상조라고 생각하니까. 하지만 관심이 가는 회사는 있다.
3년 전 스타트업을 할 때부터 나는 당근마켓에 관심을 가지고 있었다. 당근마켓의 창업스토리나 회사의 비전 등이 스타트업을 창업한 입장에서 굉장히 매력적이었다. 현재 개발자를 꿈꾸고 있는 상황에서 개발자로 당근마켓에서 일할 수 있으면 좋을 것 같다!는 미약한 목표가 생겼다. 물론 현재 네카라쿠배당토라고 불릴 만큼 우리나라의 대표적인 IT기업이라 많이 어렵겠지만 꾸준히 노력하다 보면 이룰 수 있지 않을까 생각한다. 그저 현재 더 열심히 공부하기 위한 최소한의 방향이라고 생각하려고 한다.
'개발자 도전기 > [SW사관학교 정글] 개발일지' 카테고리의 다른 글
정글에서 살아남기 | WEEK05 | 이런 C......!! Red-Black TREE 구현하기 (0) | 2021.09.12 |
---|---|
정글에서 살아남기 | WEEK04 | 다이나믹 프로그래밍은 다이나믹하지 않다구 (0) | 2021.09.05 |
정글에서 살아남기 | WEEK02 | 코딩 못해? 어쩌라고! 결국 잘하게 될거야 (0) | 2021.08.22 |
정글에서 살아남기 | WEEK01 | 성장통을 즐겨라! 근데 생각보다 아프다...? (2) | 2021.08.15 |
정글에서 살아남기 | WEEK00 | 걱정 같은거 하지마 넌 코딩만 해 ㅎㅎ 정글 입성 프로젝트 진행 (9) | 2021.08.08 |
댓글