도서 학습 정보 및 자료
① 구매 시기 : 2021-04-22
② 학습 기간 : 2024-12-23 ~ 2025-01-09 (3주)
③ 문제 개수 : 69개 (기본 예제 제외, 심화 문제 21개 + 기출문제 48개)
1. 도서 구매
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=247882118&start=slayer
2. 깃허브 저장소
https://github.com/ndb796/python-for-coding-test?tab=readme-ov-file
3. 유튜브 링크
https://youtu.be/m-9pAwq1o3w?si=YguXnpxuKbsl81lx
후기
2021년 구매했던 도서를 2025년 1월에서야 완독했다. 총 3주의 시간이 걸렸고 심화 문제(48개) 3회차까지 풀이하고, 옵시디언으로 문제별 정리까지 다 하였다. ("언젠가 읽어야지.. 읽어야지.."하고 미루기만 했었는데, 막상 다 정리하고 나니 후련한 기분이 든다)
책을 구매할 당시에는 SI를 벗어나고 싶었기 때문에 코딩 테스트 준비 위해 이 도서를 구매했던 것으로 기억한다. 2021년 당시 공무원의 반복적인 문서 작업을 파이썬으로 자동화한게 이슈가 되어, 파이썬에 관심을 가지게 되었지만 3년이 지나 실제 문제 풀이는 전부 Java로 하였다
*참고. S사 기출 문제 풀이 포스팅
① 아기 상어
② 청소년 상어
③ 어른 상어
*참고. 백준 티어
아마 책의 리뷰를 찾아 보고 있는 사람들은 이 책이 최근 기업의 코딩 테스트를 통과하는데 도움이 되는가에 대해 알고 싶어하지 않을까 싶다. 그래서 코딩 테스트 강의를 3개 완강하고, 이 책을 최근 완독한 필자의 입장에서 도서의 좋았던 점과 아쉬웠던 점에 대해 기록을 해본다
좋았던 점.
1. 기본에 충실하다
시간복잡도/공간복잡도, 그리고 라이브러리에서 제공하는 API 등 코딩 테스트를 풀어가는데 있어 필수적이고 기본적인 정보를 설명하는 것으로 시작한다. 그리고 ch3.그리드 ~ ch10.그래프 이론까지 기업 코딩 테스트에서 다루는 기출 유형에 대해 소개하고, 간단한 기본 예제와 문제를 제시하였다.(생각보다 기출 문제 챕터 전에는 쉬운 편이었다) 마지막으로 유형별 심화 기출 문제로 총 48개를 다루는데, 문제 풀이 과정 속에서 내가 잘하는 것과 잘하지 못하는 문제 유형에 대해서도 파악할 수 있어 도움이 되었다
2. 풍부한 그림과 강의 자료
맨 처음 언급했던 깃 허브 저장소나 유튜브 강의 영상 등 자료가 풍부하기 때문에 멀리 찾아볼 필요 없이 쉽게 찾아 도움을 받을 수 있었다. 더군다나 시각 자료를 기반으로 설명하기 때문에 머리속으로 그림이 안 그려질 정도로 막막한 문제에서 도움을 받았다
2020년도에 카카오 블라인드 테스트 지원을 했다가 코테 광탈했던 기억이 난다. 3년이 지나 프로그래머스에서 다시 풀었는데 7문제 중 3문제는 풀 수 있었지만, 4문제는 여전히 풀기 어려웠다. 이때 책을 참고하면서 코드에 부족한 부분을 찾아 다시 생각을 해볼 수 있었고, 3회차까지 풀이 반복하면서 사고에 익숙해질 수 있었다. 문제를 풀면서 느끼는거지만 기출 유형에서 벗어나는 건 없고, 사고력이 많이 요구되는 것으로 보였다
예로 "기둥과 보 설치" 문제에서 설치와 삭제를 할 때 유효성 검사를 해야 하는데, 설치는 쉬운 반면 삭제는 예외 케이스가 많아 커버하기 힘들었다. 이를 반대로 생각하여 구조체를 임시 삭제하고, 주변 범위내의 설치된 구조체의 유효성 검사를 다시 하여 설치 가능했던 구조체가 유효성 실패를 하면 대상 구조체는 삭제 불가 판별하여 처리하는 방식으로 쉽게 풀이 가능했다. 즉, 설치 유효성만으로 삭제 유효성을 커버 가능하다는 걸 찾아내냐 못하냐의 문제 .. 허를 찔리는 느낌이었고 4문제가 다 그러하였다
아쉬운 점.
1. 문제 중복
코딩 테스트 준비를 하면서 총 3개의 강의를 완강했기 때문에 알 수 있는게 중복되는 문제가 자주 보였다. 책의 저자인 동빈나님이 하신 강의도 들었지만, 강사 분들이 자료 준비하실 때 커리큘럼이 거의 닮다 보니 그런게 아니었나 싶기도 하다. 이 부분에 있어서는 알고리즘 관련 사이트(ex. 백준, 프로그래머스 등) 통해 스스로에게 부족한 유형의 문제 풀이하는 방식으로 보충해야 할 것으로 생각되었다
*완강한 강의
패스트 캠퍼스 | 한 번에 끝내는 코딩테스트 369 Java편 초격차 패키지 Online. (강사. 류호석) |
패스트 캠퍼스 | UPSKILL : Javascript 코딩테스트 131개 예제 & CS지식으로 끝내기 (강사. 동빈나) |
프로그래머스 | 코딩테스트 실력 UP 패키지 : 문제풀이 꿀팁과 실전 모의고사(Java) |
*중복 심화 문제 예시
① 뱀
② 치킨 배달
③ 특정 거리의 도시 찾기
④ 연구소
⑤ 경쟁적 전염
⑥ 연산자 끼워넣기
⑦ 인구 이동
⑧ 공유기 설치
⑨ 정수 삼각형
⑩ 플로이드
⑪ 숨바꼭질
⑫ 어두운길
⑬ 행성 터널
⑭ 최종 순위
2. 기본 자료구조는 따로 공부 필요
책 자체가 IT 취준생 대상으로 기업 코딩 테스트에 필요한 핵심 알고리즘과 기출 문제를 다루고 있다. 그래서 자료구조는 간략 설명과 API(method)에 대한 소개만 하고 넘어가니, 동작 원리에 대한 이해 부족이 코딩 테스트에서 응용력 부족으로 이어질 수도 있겠다는 생각이 들었다 (책에서도 깊이 있는 내용은 범위를 벗어나기 때문에 언급만 하고 넘어간다고 적혀있다)
개인적으로 자료구조는 이미 따로 공부했기 때문에 술술 넘어 갔던 것으로 생각되는데 필요하다면 아래 절차를 한번 해보는 것을 권장한다
*자료구조 학습 절차
① 사용 언어로 직접 구현
② 라이브러리 분석 및 학습 테스트
③ 유형 문제 풀이 (백준, 프로그래머스 등등)
마지막으로 새로 나오는 기술도 시간이 지나면 과거의 기술이 되듯이 책이 나온 2021년 이후로 변화된 라이브러리 기능이나 원하는 기업별 기출 유형 정보 등은 추가적으로 찾을 필요가 있을 것이다
'독서 > 📚' 카테고리의 다른 글
[도서] 만화로 배우는 리눅스 시스템 관리1 - 요약 정리 (4) | 2025.01.21 |
---|---|
[개발도서]프로그래머 열정을 말하다 (채드 파울러) (2) | 2024.05.02 |
[Next Step] 12장 확장성 있는 DI 프레임워크로 개선 (0) | 2023.11.23 |
[Next Step] 11장 의존관계 주입(DI)을 통합 테스트 하기 쉬운 코드 만들기 (0) | 2023.11.21 |
[Next Step] 10장 새로운 MVC 프레임워크 구현을 통한 점진적 개선 (2) | 2023.11.20 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!