자바 알고리즘 인터뷰 with 코틀린 - 102가지 알고리즘 문제 풀이로 완성하는 코딩 테스트, 2024년 세종도서 학술부문 추천도서
박상길 지음, 정진호 일러스트 / 책만 / 2023년 9월
평점 :
장바구니담기


『파이썬 알고리즘 인터뷰』로 유명한 지은이와 일러스트가 모여, 이번에는 『자바 알고리즘 인터뷰』로 돌아왔습니다. 

취업과 이직을 위해 코딩테스트를 준비하는 분들에게 기초를 튼튼하게 다질 수 있고, 상세한 문제 풀이가 가득한 『자바 알고리즘 인터뷰』를 추천합니다.

 

 

『자바 알고리즘 인터뷰』는 5부와 부록으로 구성되어 있습니다.

1부에서는 코딩 인터뷰와 코딩 테스트에 대한 소개와 준비하는 방법을 자세히 알려줍니다.

2부에서는 자바와 코틀린의 특징, 동작 원리의 차이점과 고급 문법에 대해 다루고, 빅오(Big-O), 문자열 처리를 살펴봅니다. 

3부에서는 자료구조 중 선형 자료구조인 배열부터 연결 리스트, 스택, 큐, 데크, 우선순위 큐, 해시 테이블을 살펴봅니다. 

4부에서는 자료구조 중 비선형 자료구조인 그래프와 트리, 힙, 트라이, 최단 경로 문제를 살펴봅니다.

5부에서는 알고리즘을 다룹니다. 정렬부터 시작하여 다이나믹 프로그래밍까지 살펴봅니다.

마지막 부록에서는 2022년도 카카오 개발자 신입 공채에 출제되었던 7개의 문제를 풀이합니다.

 

 

 

책에서 인상적이었던 문제로 리트코드에 나온 <두 수의 합>을 구하는 문제였습니다. 배열의 두 숫자를 더하는 간단한 문제였지만 무차별 대입부터 시작하여 다양한 방식으로 문제를 풀 수 있었고, 최적화를 통해 어떻게 문제를 풀어야 효율적, 비효율적인지 알 수 있었습니다. 

두 번째로 2022년 카카오 코딩 테스트 문제였던 <주차 요금 계산> 문제입니다. 코딩 테스트 문제중에서는 현실과 동떨어진 문제가 많았는데, 실생활에서 자주 마주칠 수 있는 문제를 풀게되어 반가웠습니다. 비즈니스 로직부터 차례대로 구현하면 되었는데, 정해진 시간 안으로 주차된 차한테는 기본 요금을 계산하고 그 이상의 경우 초과 요금을 계산하는 것이었습니다.  다만 머리 속에서 생각하는 것과 실제 코드로 구현하는 것은 상당한 차이가 있어서, 앞으로 꾸준히 연습을 해야겠다는 다짐을 했습니다.

 

 

 

책의 장점으로 첫째, 자바와 코틀린을 동시에 배울 수 있습니다. 자바의 실행 방식을 비롯하여 고급 문법들을 알려주고, 코틀린을 처음 접하는 독자들을 위해 자바와 코틀린의 차이점과 여러가지 팁을 소개합니다.

둘째, 102개의 문제(리트코드 문제 88개+프로그래머스 문제 7개+카카오 기출 문제 7개)를 풀어보면서 코딩 테스트 대비를 단단히 할 수 있습니다. 리트코드를 포함하여 국내 코딩 테스트 플랫폼으로 많이 사용하는 프로그래머스의 사용법과 함께 문제를 소개합니다. 마지막으로 2022년에 출제된 카카오 채용 문제를 풀면서 책에서 배운 모든 방법을 확인해봅니다. 

셋째, 친절한 일러스트와 설명으로 이해가 잘 되었습니다. 이 책의 저자와 일러스트가 같은 

『비전공자도 이해할 수 있는 AI 지식』(박상길 지음, 정진호 그림, 반니, 2022)을 읽었던 적이 있었는데, 글과 수식으로만 이해하기 힘든 AI를 이해하는 데 큰 도움을 주었던 기억이 납니다.  『자바 알고리즘 인터뷰』도 다양하면서도 친절한 일러스트로 이해를 돕고, 특히 코드의 주석까지 세세하게 설명해줘서 코드의 품질을 높이는 데에도 도움이 되었습니다.

 

『자바 알고리즘 인터뷰』은 저자의 정성이 느껴지는 책으로 자료구조와 알고리즘, 자바에서 놓칠 수 있는 부분을 꼼꼼하게 다뤄서 몰랐던 부분을 채울 수 있었습니다. 예를 들어, ‘비둘기 집’을 통해 해시 충돌을 설명하는 부분이나, 자바의 스택 선언 부분에서 Deque 자료형을 사용해야만 하는 이유를 보면서 즐거움과 세심한 부분까지 신경을 쓴 책이라는 것을 느꼈습니다.

 

 

 

책에서 가장 마음에 들었던 점은 비교 중심의 전개였습니다. 사고의 본질을 무엇인가를 연구한 책, 사고의 본질(더글러스 호프스태터, 에마뉘엘 상데 지음, 김태훈 번역, 최재천 감수, 아르떼, 2017)에서는 ‘인간은 모든 것을 비교하면서 이해한다’고 합니다. <자바 알고리즘 인터뷰>는 독자가 이해하기 쉽도록 자바와 코틀린의 비교부터 시작해서 자료구조와 알고리즘들 간의 비교, 문제에서 다양한 해결방법을 서로 비교했습니다. 저자와 함께 102의 문제를 풀어보면서, 독자들은 더 나은 선택지를 찾을 수 있는 문제 해결력을 기를 수 있을 것이라 생각합니다. 

이 책은 단순히 코딩 테스트만을 위한 공부가 아닌, 실무에 쓰일 수 있는 코드로 초급자뿐만 아니라 이미 현업에 있는 개발자에게도 유용하므로 앞으로 개발 인생에 좋은 길잡이가 될 것입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo