기초부터 공부하는 알고리즘 입문서

어떤 분야에 오랜 시간 몸담고 있어도 자신이 그 분야에서 어느 정도의 실력을 갖추고 있는지 증명하는 일은 쉽지 않습니다. 그래서 많은 기업이 단순하게 경력 등을 통해서 사람의 실력을 판단합니다. 그에 비해 개발이라는 영역은 자신의 능력과 실력을 증명하는 일이 비교적 쉬운 편입니다. 내가 어떤 코드를 작성할 수 있는지, 어떤 코드를 작성해 왔는지 보여 주면 되기 때문입니다. 자신이 작성한 코드를 보여 주는 대표적인 방법 중 하나는 프로그래밍 대회 문제를 풀어보는 것입니다. 그래서 프로그래밍 대회 문제는 개발 분야에서 신입을 뽑을 때도 경력직을 뽑을 때도 많이 활용됩니다.

《프로그래밍 대회 공략을 위한 알고리즘과 자료 구조 입문》은 프로그래밍 대회 문제를 통해 기본적인 알고리즘과 자료 구조를 공부할 수 있게 도와주는 입문서이자 참고서입니다. 프로그래밍 대회 문제를 풀며 각종 알고리즘 설계 기법과 자료 구조를 이해하고, 나아가 알고리즘 문제 해결 능력을 키울 수 있게 도와줍니다. 특히 이 책은 프로그래밍 대회와 유사한 온라인 저지 시스템을 통해 즉각적인 피드백을 받을 수 있도록 구성되어 있어 혼자서도 재미를 느끼며 공부할 수 있습니다.

온라인 저지 사이트를 활용하여 코드를 직접 구현해 보고, 그 정확성과 성능을 검증하는 과정을 반복적으로 해 볼 수 있어 프로그래머로서 알고리즘과 자료 구조에 대한 기본적이면서도 광범위한 지식을 배울 수 있을 뿐만 아니라 프로그래머로서 요구되는 능력, 즉 기본적으로 문서에서 요구하는 내용을 정확하게 이해하고, 버그 없는 프로그램을 구현하는 방법을 배울 수 있게 해 줍니다. 또한 계산 효율, 메모리 사용량, 컴퓨터 리소스를 생각하면서 설계하고 코딩할 수 있는 능력을 기를 수 있게 해 줍니다. 따라서 프로그래밍 대회를 준비하는 목적 이외에도 프로그래밍, 알고리즘, 자료 구조를 공부하기 위한 참고서로도 활용할 수 있습니다.

이 책은 C/C++를 기준으로 설명하고 있으며, C/C++라는 언어의 특수성으로 인해 약간의 코드 차이는 있겠지만 다른 프로그래밍 언어를 활용하는 경우에도 도움이 될 것입니다.

이 책에 수록된 문제들은 일본 아이즈대학에서 제공하는 온라인 저지 사이트인 아이즈 온라인 저지(https://judge.u-aizu.ac.jp/)에서 일본어와 영어 두 가지 버전으로 볼 수 있으며, 직접 채점해 볼 수도 있습니다. 하지만 아이즈 온라인 저지가 일본 사이트라 접근성에 한계가 있을 수 있으므로 국내 독자들을 위해 백준 온라인 저지의 운영자 최백준 님의 도움을 받아 각 장 맨 뒤에 본문 내용과 관련된 문제들을 추가로 수록해 놓았으며, 이 문제들은 백준 온라인 저지(https://www.acmicpc.net/)에서 채점해 볼 수 있습니다.

이 책의 특징
  • 프로그래밍 대회를 준비하기 위한 기초 체력을 기를 수 있다.
  • 온라인 저지를 통해 자동 채점을 해볼 수 있다.
  • 알고리즘을 수집하는 재미를 느낄 수 있다.
대상 독자
  • 프로그래밍 대회를 준비하고 있는 대학생
  • IT 기업의 코딩 테스트를 준비하고 있는 취준생
  • 알고리즘에 대한 기초 지식은 있으나 알고리즘 문제 해결 능력은 부족하다고 생각하는 개발자
미리보기
함께 보면 좋은 인사이트 책

이 책 외에도 인사이트에서 발간한 알고리즘 학습서의 대명사인 일명 “종만북” 《알고리즘 문제 해결 전략》과 《알고리즘 트레이닝: 프로그래밍 대회 입문 가이드》, 《알고리즘 트레이닝: 자료 구조, 알고리즘 문제 해결 핵심 노하우》도 추천합니다. 또한 코딩 인터뷰 책으로는 《266가지 문제로 정복하는 코딩 인터뷰 in C++》, 《262가지 문제로 정복하는 코딩 인터뷰 in Java》, 《코딩 인터뷰 완전 분석 등도 추천합니다. 국내외 프로그래밍 대회나 각종 코딩 테스트 준비는 이제 인사이트 책과 함께 하세요!

《프로그래밍 대회 공략을 위한 알고리즘과 자료 구조 입문》은 다음 서점에서 구입하실 수 있습니다.

교보문고 | YES24 | 알라딘 | 인터파크

정오표

해답 예 모음