소프트웨어 개발자라면 데이터 구조와 알고리즘은 배워야 한다고 막연히 생각하고 있었다. Swift를 메인 언어로 삼는 나로써 raywenderlich의 data structures & algorithms 전자책을 보기로 했다. 책의 저자가 머리말에 이런 이야기를 한다. 아이폰 개발자로서 알고리즘과 데이터 구조를 배워야 하냐고 묻는다면 '아니오'라고 대답할 것이다. 프로그래밍 요구사항 95%는 이런 지식없이 해결할 수 있다. 하지만 무차별적 대입식 솔루션이 통하지 않을 때가 있다. 나는 그 격차를 메우고 싶었다. 다른 사람들에 의해 여러번 해결된 적 있는 이 문제가 어떤 종류의 문제이고 그 솔루션이 무엇인지 이해하기 위해서는 배움이 필요하다. 공부에 앞서 책을 하나하나 씹어먹어야 한다는 부담감이 컸는데 이런..