Page 41 -
P. 41

●  트리
                    ●  해시
                    ●  세트


                    데이터 구조, 알고리즘을 제대로 이해하면 어려운 프로그래밍 문제를 쉽고 명쾌하게
                  풀 수 있다.

                    나는 프로그래밍을 거의 독학으로 배웠기 때문에 입문한 초기에는 데이

                  터 구조와 알고리즘에 대해 잘 몰랐다. 탑코더 topCoder         blog  사이트에서 다른
                  이들과 경쟁해보기 전까지는 이런 부분이 중요하다는 사실도 몰랐다. 탑코

                  더에서는 알고리즘과 데이터 구조를 잘 알면 상당한 경쟁 우위를 점할 수
                  있다. 알고리즘과 데이터 구조에 관한 지식을 익혀서 문제 해결에 활용하기

                  시작하자 전에는 어떻게 풀어야 할지 감도 오지 않았던 문제를 아주 쉽고
                  재미있게 풀 수 있었다. 그런 경험을 통해 진짜 프로그래밍 세계에서 이러

                  한 기술이 얼마나 유용한지 금세 깨달았다.
                    사실 나는 이 분야가 소프트웨어 개발에서 가장 재미있는 영역이라고 생각한다. 아

                  주 어려운 문제를 풀어가는 과정에서 데이터 구조와 알고리즘을 활용해 깔
                  끔하고 명쾌한 해결책을 제시할 때 큰 보람을 느낀다.

                    게일 라크만 맥다월 Gayle Laakmann McDowell이 쓴 탁월한 책인 『코딩 인터뷰
                  완전 분석 Cracking the Coding Interview』  blog  은 이에 관한 최고의 참고 도서다.

                  적어도 이 글을 쓰고 있는 현 시점에서는 그렇다. 이 책은 알고리즘과 데이

                  터 구조에 대해 알아야 할 거의 모든 것을 다룬다. 배우기 어려운 부분이긴
                  하지만 고생할 만한 가치가 있다. 이 분야에 대한 소프트웨어 개발자 대다수의 이

                  해 수준은 한심할 정도로 낮다. 마이크로소프트나 구글 같은 회사의 면접을 통
                  과하고 싶다면 이 영역을 반드시 잘 알아야 한다.









                                                                3장  당신이 배워야 하는 기술  057




     커리어스킬_07.indd   57                                                    2019-03-25   오후 5:37:31
   36   37   38   39   40   41   42   43