티스토리 뷰

반응형
왜 알고리즘을 공부하는가?

 

가장 큰 이유는 취업. 특히 해외 기업은 전화인터뷰나 1차 인터뷰로 알고리즘과 관련된 문제풀이를 시키는 경우가 많다. 실무에서는 쓸 일이 없지만, 그래도 이런 부분은 항상 갈고 닦아놔야 나중에 큰 도움이 된다. 그리고 두번째 이유로는, 구글 코드잼에 참가해보고 싶은 욕심. 맨날 해야지 해야지 하면서 당일만 되면 귀찮아서 넘겨버리곤 했었다.

 

어떻게 공부할 것인가?

 

유명한 알고리즘 사이트로는 국내에선 백준과 프로그래머스, 해외에서는 리트코드가 있다. 개인적으로 프로그래머스는 문제의 퀄리티가 굉장히 좋아서, 잘 정돈된 문제를 풀고 싶을때 좋다고 생각한다. 리트코드는 문제가 굉장히 다양하고 많은데, 잘 큐레이션된 문제들을 한눈에 모아서 풀고 싶다면 돈을 내야하더라. 아마 알고리즘 첫 스타트로 리트코드를 시도하는건 길을 잃기 쉬울 것 같다.

 

그래서 우선은

Phase 1. 알고리즘 이론 공부를 병행하면서 프로그래머스 풀기

- 당장 시간/공간복잡도에 연연하지 않는다. 문제를 "풀어내는 것에 집중"한다

- 알고리즘 이론(DFS,BFS, DP, Graph....) 개념을 습득하는데에 중점을 둔다 

 

Phase 2. 리트코드로 꾸준히 문제풀기

- 이제 배운 이론들을 가지고 좀 더 expert 수준으로 나아가기 위해 꾸준히 문제를 풀어나가야 한다 

- 새로운 알고리즘이 있다면 배워서 여기에 정리하기 

반응형

'개인 서재..* > 알고리즘' 카테고리의 다른 글

Parametric Search(파라메트릭 서치)  (0) 2017.06.01
[C언어] BFS와 DFS  (0) 2017.05.10
[C언어] 그래프  (0) 2017.05.08
[C언어] qsort()와 bsearch() 사용하기  (0) 2017.04.25
[C언어] 이진 탐색 (Binary Search)  (0) 2017.04.25
댓글