알고리즘이란 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법을 자세히 설명하는 과정이다
알고리즘이 필수인 IT 업종도 있고 그렇지 않은 업종도 있다. 나의 경우 프론트엔드 웹 개발자로서 취업을 지망(2022년 12월 8일 기준)하고 있기때문에 업무에서 크게 필요하지는 않다.
최근 IT 업계 취업근황을 보면 어느 정도 사이즈가 있는 기업은 대부분 코딩테스트를 본다. 이는 알고리즘 관련 문제를 코딩으로 해결하는 테스트이다. 그렇기 때문에 알고리즘 공부는 필요하다고 볼 수 있다.
그렇더라도 내가 취업하게 될 기업에서 테스트를 치르지 않을 수도 있다. 그런데 시간을 할애해서 공부를 해야할까?
해야한다!
IT 트렌드는 매우 빠르게 변화한다. 특히 내가 취업하게 될 프론트엔드 분야는 눈 깜빡하면 트렌드가 변화해버린다. 이러한 빠른 변화의 흐름속에서도 휩쓸리지 않고 버틸 수 있도록 도와주는 것이 있다. 바로 컴퓨터 CS관련 지식과 알고리즘인 것 같다.
당장에 필요하지 않을 수 있더라도 조금씩 공부하며 알고리즘 지식을 쌓아놓는다면 남들보다 한걸음이라도 더 앞설 수 있을 거라고 생각한다.
💡 어떻게 공부할 것인가? ( 책 vs ✓강의 )
코딩테스트 공부에 대해 찾아보다가 동빈나의 유튜브채널에서 좋은 코딩테스트 관련 강의를 발견했다. 저자 본인이 집필한 책에 대해서 무료강의를 배포하는 것인데, ‘강의만으로도 부족하지 않을까?’ 하는 생각에 보기 위해 서점에서 직접 책을 찾아보았다( 이것이 코딩테스트이다 with 파이썬 ). 저자가 재능기부를 하는 것인지 책에 담긴 내용을 거의 모두 유튜브 강의에서 다루었다. 때문에 강의를 먼저 들어보고 만약 필요성을 느낀다면 책을 구매할 예정이다.
💡 무슨 언어로 공부할 것인가? ( c++ , java, ✓python … )
동빈나의 강의 혹은 책에서 말하길 코딩테스트에 적합한 언어는 c++과 python이라고 한다. c++은 직접 메모리를 컨트롤할 수 있기 때문에 컴파일 속도라든지 자원관리면에서 뛰어나다. 하지만 나는 python을 선택했다. (JAVA는 고려도 안함..). python의 문법을 하나 둘 보다보니 코딩테스트 혹은 알고리즘 공부에 최적이겠다는 생각이 바로 들었다. 동빈나 역시 python으로 준비하고 공부하는 것을 추천한다. 이 Notion 정리 글도 역시 해당 강의에 따라 작성할 예정이다.
💡 가보자고!!!
알고리즘 공부를 최대한.. 진짜 적어도 하루에 한 시간은 할 것이다!!!! 할 게 너무 많고 읽고싶은 책도 많지만 포기만 하지말자..