먼저 알고리즘을 공부하려고 마음먹은 계기는 내가 만드는 프로그램들을 유지 보수하면서부터 시작됐다. 나는 전형적인 P이기 때문에 개발을 할 때도 큰 계획 없이 그때그때 구현하고 싶은 기능을 빠르고 생각 없이 구현했다. 이런 식으로 생각 없이 만든 코드가 늘다 보니 여러 문제가 생기게 되었는데...
별 생각 없이 코드를 짜다 보면 코드의 효율성과 속도는 딱히 신경 쓰지 않고 진행하게 된다. 처음에는 별문제가 없어 보이지만 프로젝트를 완성하고 보면 X 같은 최적화에 엄청난 속도를 보여주는 프로그램을 만날 수 있었다.
아무 생각없이 코드를 짜는 나
물론 왜 동작하지 않는지도 몰랐다..ㅎ
아, 너 개발자라고?
그 말은 너 스택오버플로에서 코드 배껴쓴다는뜻이지?
너 지금 우리 업계사람들 전체를 모욕하고 있다는거 아냐?
그치만 맞아.ㅡㅡ
첫 프로젝트를 완성하고 몇 개월 후 프로그램에서 에러가 발생하여 버그를 고쳐야 하는 일이 있었다. 몇 개월 전에 작성한 나의 코드를 보니 정말 한심하기 그지없었다. 프로젝트 구조는 엉망으로 되어있고 코드도 어디 블로그에서 복사해온 코드들이 난잡하게 흩어져있어 내가 작성한 코드임에도 불구하고 단 하나도 알아볼 수가 없었다. 결국 에러의 원인을 찾아내어 고치긴 했지만 다신 그 프로젝트에 손도 대기 싫을 정도로 유지보수가 힘들었다.
이러한 이유로 인하여 나는 내 코딩 실력의 심각성을 느끼게 되었고 이 문제를 해결하기 위해 여러 방법을 찾던 중 여러 책을 발견하였다.
물론 중학교 수학도 다 못 배운 나한텐 더럽게 어렵다.
이 책들을 찾고 나서 바로 2권 모두 구매하고 싶었지만 Introduction to Algorithms은 무려 47,000씩이나 하는 비싼 책이였기 때문에 Introduction to Algorithms만 먼저 구매하기로 했다.
열심히 하렴