오랜만에 처음 알고리즘을 풀었던 기록을 보았다.
공교롭게도 7월 14일에 첫 문제를 풀었으니,
정확히 5개월 걸려 브론즈4에서 플래티넘을 갔다!
플래티넘을 가면서 많은 굴곡이 있었다.
특히 멘탈적인 부분과, 알고리즘을 대하는 태도.
이 과정들을 잊어버리기 전에 기록하기로 했다.
1. 첫 플래티넘 문제 풀이 (8/14)
알고리즘을 처음 배우는 한 달 동안은 의욕이 엄청 앞섰다.
특히 최적해를 찾는 DP 알고리즘은 수학의 점화식 문제를 푸는 듯한 느낌을 받았다.
어렸을 때부터 수학을 좋아해서 그랬는지 모르겠다. 아무튼 이 때 DP 문제를 엄청 많이 풀었다..
그렇게 실버4였던 나는 플래티넘 DP문제에 도전했고, 6시간만에 문제를 풀어냈다.
이 날을 계기로 알고리즘 실력에 대한 자신감을 많이 올렸던 것 같다.
알고리즘에 재능이 있을지도 모른다는 기대감 또한 생겼다.
2. 삼성전자 SW 역량테스트 B형 응시 (9/17)
운이 좋게도 9월에 삼성 역테 B형에 응시할 기회가 주어졌다.
SSAFY 매 기수마다 통과자가 손에 꼽을만큼 난이도가 높다는 건 알고 있었다.
그래도 도전에 의의를 두고 응시를 하기로 결정했다.
결과는 테스트 케이스조차 해결하지 못하고 처참하게 실패했다.
물론, 당시에 아직 배우지 않은 자료구조를 사용해야 했던 문제였다.
하지만 처음 마주한 한계에 나의 자신감은 완전히 꺾였다.
며칠 동안은 이 실패를 계기삼아 더 성장하고자 노력했다.
알고리즘 문제를 미친 듯이 풀었지만 떨어진 자신감은 회복되지 않았다.
그렇게 지칠대로 지쳐있던 나에게 첫 번째 슬럼프가 찾아왔다.
3. 웹 프로젝트 집중 기간 (11월)
알고리즘 문제 풀이에 비해, 웹 프로젝트는 늘 모든 것이 생소했다.
그리고 SSAFY에서 웹 프레임워크를 집중적으로 한 달 동안 배우며 느꼈다.
'내가 알고리즘에 시간을 투자했던 건 하등 쓸모없는 짓이었구나..'
알고리즘 집중 기간에는 동료를 도와줄 정도로 여유를 부리더니,
정작 웹 프로젝트는 민폐나 안 끼치면 다행인 내 자신이 너무 우습고 부끄러웠다.
그래서 한동안 알고리즘을 집어치우고 웹 프레임워크 공부에 집중했다.
4. 방학 (12월)
한 달 가량을 웹 프레임워크와 부대끼며 어찌저찌 최종 프로젝트를 마쳤다.
그렇게 SSAFY 1학기 과정을 수료하고 방학 기간이 찾아왔다.
5개월 내내 매일 공부하다 갑자기 며칠을 통으로 쉬는 것은 상당히 어색했다.
그래서 올 해 못다한 목표였던 백준 플래티넘을 찍기 위해 알고리즘 풀이를 다시 시작했다.
60일만에 알고리즘 문제를 푸는 것은 쉽지 않았지만, 금새 기억이 돌아오며 감을 되찾았다.
그런데 웹 프로젝트를 진행하기 전과 후의 내 풀이 방식이 달라진 것을 체감했다.
이전에는 순전히 올바른 출력 자체에만 목적을 두고 코딩을 했었다.
그래서 코드 가독성이 좋지 않았고, 주석을 다는 습관도 들이지 않은 상태였다.
프로젝트를 진행하고 난 후에는 필드와 메소드의 이름, 명명 규칙을 신경쓰기 시작했다.
그리고 풀이 과정에서 기능들을 적절하게 모듈화하여 작성할 수 있게 되었다.
당연하게도 코드 가독성이 좋아졌고, 평균 문제 풀이 속도도 향상되었다.
(류호석님의 알고리즘 특강 또한 좋은 습관을 들이는 데 많은 도움이 되었다.)
마치며
한 달 전만 해도 나는 제한된 시간 안에 문제를 푸는 것에 자신이 없었다.
하지만 좋은 습관을 장착하고, 실시간 문제 풀이에 자신감이 생겼다.
앞으로는 기업 코딩테스트를 준비하며 지금까지 배운 스킬들을 점검할 생각이다.
온전히 내 것으로 만든 알고리즘 활용 능력은 큰 무기라고 생각한다.
실무에서 사용하는지와 관계 없이, 코드를 짜는데 있어서 나의 기본 체급이 될 것이다.
따라서 스트릭을 계속 이어나가는 것을 목표로 꾸준히 학습할 계획이다.
그리고 삼성 역테 B형..
다음 기회가 주어진다면 꼭 도전할 것이다.
'기록들' 카테고리의 다른 글
[SSAFY] 비전공자에서 1년 만에 대기업 개발자 취업 후기 (4) | 2023.06.06 |
---|---|
[SSAFY 8기] 비전공자 합격 후기 (면접 스터디 X) (1) | 2022.10.11 |
맥북에어 M1 구매 결정 (0) | 2022.07.31 |