
7
옮긴이의 말
현업에서 소프트웨어 개발을 하던 초창기에는 알고리즘 학습에 대한 요구가 크지 않았다. 그도
그럴 것이 잘 구성된 프레임워크를 이용하거나 라이브러리가 제공하는 함수를 잘 파악하고 이
용하면 대부분 원하는 동작을 하는 소프트웨어를 개발할 수 있었다. 내부 알고리즘의 성능이
어떤지는 그리 중요하게 여기지 않았다. 어떤 입력으로 어떻게 출력하는지만 중요했을 뿐이다.
물론 개인적인 소견이지만 말이다.
그렇게 순탄하게 개발 경력을 쌓던 중, 몇몇 대형
IT
회사에서 알고리즘 문제 해결 능력으로 개
발자를 채용하기 시작했다 (요즘에는 대부분의
IT
회사가 알고리즘 문제를 출제하는 것으로 알
고 있다 ). 그때부터 실력을 향상하고 좀 더 나은 경력을 쌓고자 알고리즘에 관심을 두고 공부
해보기로 마음먹었다. 사실 알고리즘은 어려울뿐더러 공부를 해도 효용이 없을 것 같다는 의구
심이 들기도 했다. 내용이 이미 잘 구현된 채로 제공되는 라이브러리나 프레임워크가 있었기
때문이다. 그럼에도 조금씩 시간을 들여 꾸준히 공부하고 좋은 기회로 여러
IT
기업에 이직을
시도했는데, 알고리즘에 대한 질문을 받고 해결하면서 느낀 점이 있다. 알고리즘을 학습함으로
써 추후 해결하고자 하는 문제를 다양한 시각으로 풀어내는 능력을 키울 수 있고, 좀 더 효율적
인 소프트웨어를 개발할 ...