본문 바로가기
review/DEV

책 리뷰 : 프로그래머스 코딩테스트 문제 풀이 전략: 자바편

by ㅇㄱㅈㄱ 2023. 10. 27.
728x90
반응형

"<길벗출판사 개발자 리뷰어>" 활동을 위해서 책을 제공받아 작성된 서평입니다.

제목 : 프로그래머스 코딩테스트 문제 풀이 전략: 자바편


- 대상독자

개발자 취업과 이직을 위해 코딩테스트를  준비하는 모든 이

- 책의 내용 및 구성

1. 프로그래머스의 노하우가 담긴 수많은 문제 중 79개를 선별하여 자바에 맞는 문제 풀이와 해결 기법으로 풀이

2. 문제풀이에 필요한 핵심 개념을 차례대로 차근차근 어렵지 않게 설명하며 다양한 풀이법을 제시

3. 실제 코딩 테스트 시 문제 풀이 과정을 그대로 학습할 수 있도록 구성

비효율적인 문제 풀이 과정과 효율적인 문제 풀이과정

4. 카카오 2022블라인드 테스트의 문제 풀이와 코딩전문역량인증시험(PCCP) 모의고사 2회분 문제 풀이 제공

5. 총 14장 668p 로 구성

 

- 책에서 눈에 띄는 점

1. '자바 편'이라는 이름에 걸맞게 자바에서 사용되는 문법 중 효율적인 문법들을 팁처럼 소개

2. '코딩 테스트'에서 중요하게 생각되는 '시간'과 '효율'성에 집중해서 대부분의 정보는 뛰어 넘는다거나 하지 않고, 탐색, 정렬, 배열 등에 대한 이론적인 부분부터 차근차근 어렵지 않게 접근, 개발 초반에 자주 접하는 별찍기 문제부터 코드만 딸랑 보여주고 마는 내용이 아닌 그림과 표(그래프 등)를 적절하게 활용하여 독자의 이해를 한층 더 높히고 있음.

 

3. 코딩테스트 라는 책 주제처럼, 프로그래머스에서 선별된 문제들을 대부분의 각 장 끝쪽에 보여주며 문제 풀이를 자바스럽게 풀어나감.

 

- 총평

 개발 경력 2년차가 되기 전, 코딩 테스트 붐이 불기 시작하여 IT 대기업들은 면접 전 코딩 테스트를 필수로 보기 시작했다. '한번 내 실력을 확인해볼까?' 하며 시간을 내서 도전했던 5번의 코딩 테스트 중 3번이 문제 절반을 풀지 못하고 좌절되었다. 그 때, '아 나는 안되는건가?' 가 아닌 '나는 기초가 부족하구나' 라고 느꼈던 이유가 바로 '시간'이었다. 문제는 다 풀었지만 제출 결과 time out이 나는 경우가 많았기 때문이다.

 이제 한참 유튜브와 수많은 매체를 통해 IT 관련 정보를 접하고 학습할 수 있게 되었다. 아무 준비없이 도전했던 예전과는 다르게 만약 준비를 하고 시험을 보게 된다면 결과는 달라지겠지만, 아직까지 바뀌지 않은 인식 한가지는 '코딩 테스트와 실전은 미묘하게 다르다'라는 것이다. 코딩 테스트를 보면서 저 년차(신입~2년차) 에서는 만져보지 못했던 로직들이 3~4년차에 들어서면서 복잡한 요구사항을 들어주기 위해 필요한 상황이 생기기 시작했다. 물론 코딩 테스트 처럼 효율적인 로직을 만들어서 극단적으로 실행 시간을 줄이거나 하는 상황은 엄청난 데이터를 요구할 때 이겠지만, 아직까지 그런 상황은 겪지 못하였다. 여기서는 '효율적인 로직'이 그 상황의 예이다.

 그동안 그렇게 중요하지 않다고 생각했던 정렬과 탐색은 데이터를 검색하거나 특정 데이터를 찾아야 할 때 로딩 시간이나 실행 시간을 줄이기 위해 조금씩 필요성을 느끼게 되었지만 이런 상황이 많지 않다보니 그때 그때 상황을 모면하는 방식으로밖에 해결을 하지 못하였다. 그렇게 시간이 흘러가면서 '수준을 끌어올리고 싶다.' 라고 생각하니 정답은 코딩 테스트 안에 전부 존재했다.

 위에서 말한 이론적인 부분, 정렬이나 탐색 등을 학습하고 내 것으로 만들어야 하는 것이었다. 하지만 '빅 오'라는 표현은 익히 들어 알고 있지만, 어떻게 학습해야 할 지 몰랐고, 정렬이나 탐색은 수십, 수백개가 존재해 어디서부터 뭘 공부해야 할 지 막막하였다.

 '최근에는 파이썬이 코드가 짧고 빨라서 코딩테스트에서 많이 쓰인다.' 라는 말에 주 언어인 자바를 버리고 공부하던 파이썬으로 해볼까 하는 생각도 들었지만, 역시 주 언어에서 잘해야 다른 언어에서도 잘 하지 않겠냐 라는 고집 때문에 여태 그러지 못하였다.

 이 책은 이런 고민을 전부까진 아니더라도 대부분 날려주는 그런 책이었다. 그동안 '공부해야지' 라고 막연하게 생각해왔던 내용들이 '코딩테스트'의 문제 해결을 위한 단계만 보여주는것이 아닌 이론적인 부분부터 차근차근 진행할 수 있도록 도와준다. 그저 문제와 풀이가 존재할 것이라 생각했던 나의 예측을 깨버린 멋진 책이라고 생각한다.

 아직 한 두번 보고 끝까지 풀어보지 못한 문제들이 많이 있다. 맨 뒷장의 카카오 블라인드 테스트와 PCCP 기출 문제라는 내용은 시간이 지난 후 어느정도 이론적인 부분과 코딩테스트의 효율적인 진행방식에 익숙해지면 진행해보려고 한다.

 시중에 존재하는 수많은 이론 책, 기출 문제 책 과 같이 '흰 것은 배경이요, 검은 것은 글이다' 같은 지루한 느낌이 아닌, 또 줄줄이 코드 속 주석 설명만 존재하는 것이 아닌, 단계별로 예제를 보여주며 어떤식으로 풀어나가야 하는지 방향을 제시해주는 어썸(?) 한 책이 아닐까 싶다.

 두깨는 만만치 않지만 그 두깨의 양만큼 내 지식도 채워질 것이라 생각하는 정말 많은 자바 개발자들에게 추천하고 싶은 책이다. 아 그래고, 주력 언어인 자바로 코딩테스트를 해결하고 싶어하는 이상한(?) 자존심을 갖는 나와 같은 사람들에게도 매우 추천한다.


728x90
반응형

댓글