Skip to product information
Passing the Coding Test - Java Edition
Passing the Coding Test - Java Edition
Description
Book Introduction
The surest way to pass a coding test!
Provided by Programmers, prepare thoroughly with 97 frequently-asked questions carefully selected by experts!


Are you preparing for the new employee coding test? You can't pass a coding test by simply diligently solving the problems.
Exams must be prepared strategically.
"Passing the Coding Test - Java Edition" was created after the author and professional instructors spent a lot of time carefully selecting and solving frequently appearing problems that are perfect for passing the new employee coding test.
This comprehensive explanation covers the data structures, algorithms, and time complexity analysis that underpin the core concepts of the problem. All content is presented with helpful explanations and rich illustrations for a clear and easy-to-understand approach.
You will be able to prepare not only for the coding test but also for the interview that follows.
With this book, passing is yours.
  • You can preview some of the book's contents.
    Preview

index
[First Yard: Coding Test Pre-Preparation]

Before preparing for the coding test in Chapter 00
__00-1 Those who really want to pass
__Seeing other people's solutions can broaden your thinking.
__Adding your own test cases helps you come up with good algorithms.
__00-2 Clarify what you know and what you don't know
__First, write it down
__Second, study as if you were taking a test.
__Third, you can never pass a coding test by studying for a short period of time.
__Fourth, summarize in your own words

Chapter 1: Preparing for Coding Tests Efficiently
__01-1 Select language
__01-2 Practice problem analysis
__First, break the problem down into pieces and analyze it.
__Second, identify constraints and add test cases.
__Third, analyze the input values
__Fourth, when approaching greedily, be clear about your rationale.
__Fifth, understand the data flow or structure.
__01-3 Practice designing with pseudocode
__First, write with a focus on behavior, not on detailed implementation.
__Second, write in problem-solving order
__Third, test enough

Chapter 2: A Complete Guide to Programmers
__02-1 What kind of place is Programmers?
__02-2 Programmer's Guide
__A Look at Programmers
__Looking at the problem-solving process

Chapter 3: Analysis of Algorithm Efficiency
__03-1 What is time complexity?
__Searching a one-dimensional array
__How to measure algorithm execution time
__Big O notation for expressing worst-case time complexity
How to Use Time Complexity in Coding Testing
__03-2 Calculating time complexity
__Star-picking problem
__Bacterial lifespan problem

Chapter 4: Essential Grammar for Coding Tests
__04-1 Primitive types and reference types
__Integer
__floating point type
__04-2 Collection Framework
__arrangement
__list
__HashMap
__string
__04-3 method
__Method definition
__method call
__lambda expression
__04-4 Coding Test Code Implementation Know-How
__Early return
__protected syntax
__generic

[Second Yard: Mastering Coding Tests]

Chapter 5 Array
__05-1 Array concept
__Array declaration
__Arrays and Dimensions
__05-2 How to use ArrayList
__Add data to ArrayList
__05-3 Efficiency of ArrayList
__Time complexity of array operations
__Things to consider when choosing an array
__05-4 Warm-up Problem
__[Problem 01] Sorting an Array★
__[Problem 02] Array Control★★
__05-5 Mock test to become a successful candidate
__[Problem 03] Pick two and add them★
__[Question 04] Mock Exam★
__[Problem 05] Matrix Multiplication★
__[Problem 06] Failure Rate★★
__[Problem 07] Visit Length★★

Chapter 6 Stack
__06-1 Stack concept
__Understanding how the stack works
__06-2 Definition of stack
ADT of __stack
Using the __Stack class
__06-3 Warm-up Problem
__[Problem 08] Correct parentheses★★
__[Problem 09] Converting decimal to binary★
__06-4 Mock test to become a successful candidate
__[Problem 10] Rotating Parentheses★
__[Problem 11] Pairing and Removing★
__[Problem 12] Stock Price★★
__[Question 13] Crane Doll Grabber Game★★
__[Problem 14] Edit Table★★★★★

Chapter 7 Q
__07-1 The concept of queue
__Looking at how data moves through the queue
Fields that utilize the characteristics of __queue
ADT of __queue
__07-2 Warm-up Problem
__[Problem 15] Josephus Problem★★
__07-3 Mock test to become a successful candidate
__[Problem 16] Function Development★★
__[Question 17] Card Deck★★

Chapter 8 Hash
__08-1 The concept of hash
__Learn more about hash
__Fields that utilize the characteristics of hashes
__08-2 Hash function
__Things to consider when implementing a hash function
__Learn about frequently used hash functions
__08-3 Collision Handling
__Processing with chaining
__Processing with open address method
__HashMap
Using the __HashMap class
__08-4 Warm-up Problem
__[Problem 18] Creating a specific value using two numbers★
__08-5 Mock test to become a successful candidate
__[Question 19] Players who failed to finish the race★
__[Question 20] Discount Event★★
__[Question 21] Open Chat Room★★
__[Question 22] Best Album★★
__[Question 23] Receive report results★★
__[Problem 24] Menu Renewal★★★

Chapter 9 Tree
__09-1 Tree concept
A tree shaped like an upside-down tree
__09-2 Representing a binary tree
Expressing as an array
Traversing a binary tree
Expressing with __pointers
__Representing as an adjacency list
__09-3 Traversing a Binary Tree
__Building a binary search tree
__Binary search tree exploration
__Comparison of the efficiency of binary search trees and array search
__09-4 Warm-up Problem
__[Problem 25] Tree Traversal★
__09-5 Mock test to become a successful candidate
__[Question 26] Predicted Matchup★
__[Problem 27] ​​Multi-level toothbrush sales★★
__[Question 28] Sheep and Wolf★★★★★
__[Question 29] Pathfinding Game★★★★

10-chapter set
__10-1 Concept of sets and mutually exclusive sets
__The concept of a set
__A field that utilizes the characteristics of mutually exclusive sets
__10-2 Set operations
Representing a set as a tree using arrays
__Union-Find Algorithm
__10-3 Warm-up Problem
[Problem 30] Implementing a Simple Union-Find Algorithm★★
__10-4 Mock test to become a successful candidate
__[Question 31] Phone Pokemon★
__[Problem 32] English Word Chain★
__[Problem 33] Connecting Islands★★★

Chapter 11 Graph
__11-1 Graph Concept
__Graph Terminology Summary
__Characteristics and types of graphs
__Graph implementation
__11-2 Graph Exploration
__Depth-first search
__Breadth-first search
__Comparison of Depth-First and Breadth-First Searches
__11-3 Finding the shortest path on a graph
Dijkstra's algorithm
__Bellman-Ford algorithm
__11-4 Warm-up Problem
__[Problem 34] Depth-First Search Traversal★
__[Problem 35] Breadth-First Search Traversal★
__[Problem 36] Dijkstra's Algorithm★★★
__11-5 Mock test to become a successful candidate
__[Question 37] Shortest Distance on the Game Map★★
__[Problem 38] Network★★
__[Problem 39] Maze Escape★★
__[Question 40] Delivery★★★
__[Problem 41] Construction of a racetrack★★★★★
__[Problem 42] Dividing the power grid into two★★

Chapter 12 Backtracking
__12-1 Backtracking and Backtracking Algorithm Concepts
__What is backtracking?
__What is the backtracking algorithm?
__What is a promising function?
__Applying the backtracking algorithm to the problem
__N-Queen problem
__12-2 Warm-up Problem
__[Problem 43] Find the combination of numbers from 1 to N that sums to 10★
__[Problem 44] Sudoku Puzzle★★★
__12-3 Mock test to become a successful candidate
__[Question 45] Fatigue★
__[Question 46] N-Queen★
__[Question 47] Archery Competition★★
__[Problem 48] Exterior Wall Inspection★★★★★
__[Problem 49] Disappearing Foothold★★★★★

Chapter 13 Sorting
__13-1 Sorting Concepts
__Why Sorting Is Necessary
__Insertion sort
__Merge sort
__Heap sort
__priority queue
__coefficient sort
__Topological sort
__13-2 Warm-up Problem
__[Problem 50] Implementing Counting Sort★
__[Problem 51] Merging two sorted arrays★
__13-3 Mock test to become a successful candidate
__[Problem 52] Arrange strings as you wish★
__[Problem 53] Arrange integers in descending order★
__[Problem 54] Kth number★
__[Problem 55] Largest Number★★★
__[Problem 56] Tuple★★
__[Problem 57] Terrain Movement★★★★
__[Problem 58] Phone Number List★★

Chapter 14 Simulation
__14-1 Simulation Problem Solving Know-How
__How to solve simulation problems
__Matrix operations
__coordinate operations
__Symmetry, rotation operations
__14-2 Warm-up Problem
__[Problem 59] Rotating an Array★★
__[Problem 60] Create the transpose matrix after multiplying two matrices★
__[Problem 61] Creating a Snail Sequence★★
__14-3 Mock test to become a successful candidate
__[Problem 62] Repeating Binary Conversion★★
__[Problem 63] Cutting a Roll Cake★★
__[Problem 64] Carpet★★
__[Problem 65] Jumping and Teleportation★★
__[Problem 66] Character Coordinates★★

Chapter 15 Dynamic Programming
__15-1 Dynamic Programming Concepts
__Ignition system setup and dynamic programming
__Memoization to reduce the number of recursive calls
__longest increasing subsequence
__longest common subsequence
__15-2 Warm-up Problem
__[Problem 67] Calculating LCS Length★★★
__[Problem 68] Calculating LIS Length★★★
__[Problem 69] Pebble Problem★★★
__15-3 Mock test to become a successful candidate
__[Problem 70] Fibonacci Numbers★
__[Problem 71] 2 × n tiling★
__[Problem 72] Integer Triangle★★
__[Problem 73] Land Grabbing★★
__[Question 74] Theft★★★★★
__[Problem 75] Finding the Largest Square★★★
__[Problem 76] Word Puzzle★★★★

Chapter 16 Greedy
__16-1 Greedy Concept
__Greedy algorithm for giving change
__How can a greedy algorithm guarantee an optimal solution?
__16-2 Minimum spanning tree
__What is a kidney tree?
__What is a minimum spanning tree?
__16-3 Backpack Problem
__Partially split backpack problem
__The 0/1 backpack problem that cannot be split
__16-4 Warm-up Problem
__[Question 77] Giving change★★
__[Problem 78] Partial Backpack Problem★★
__16-5 Mock test to become a successful candidate
__[Question 79] Budget★
__[Question 80] Lifeboat★
__[Problem 81] Choosing Tangerines★★
__[Problem 82] Base Station Installation★★


[Appendix 1: Mock Exam]

_01st Mock Exam
__[Problem 83] Maze escape command
__[Problem 84] Delivery and collection of parcels
__[Question 85] Personal information collection validity period
_02nd Mock Exam
__[Problem 86] Move 110
__[Problem 87] Counting after quad compression
__[Problem 88] Adding Missing Numbers

_03rd Mock Exam
__[Problem 89] Bad User
__[Problem 90] Finding the number of prime numbers in base k
__[Problem 91] Checking social distancing

_04th Mock Exam
__[Problem 92] Studying for the Coding Test
__[Problem 93] Make the sum of two queues equal
__[Problem 94] Number Game

_05th Mock Exam
__[Problem 95] Jewelry Shopping
__[Problem 96] Undestructed building
__[Problem 97] Highest and lowest rankings in the lottery

[Appendix 2: Summary Notes on Eomchin-ah]

Detailed image
Detailed Image 1

Publisher's Review
★ You can pass the coding test with 97 frequently asked questions!
★ Prepare for interviews with this book that covers data structure and algorithm theory concepts!


Coding tests are a must-pass hurdle for anyone looking to get into an IT company.
Can you pass a coding test simply by solving a ton of problems? The author says no.
Most coding tests are structured to meet the standards that companies expect from their candidates.
So, it is much more advantageous to pass the exam by strategically preparing for the coding test with frequently asked questions that fit the criteria.
《Becoming a Coding Test Passer》(Java Edition) categorizes 97 questions from corporate coding tests by Programmers and arranges them in order of frequency.
In short, this book is filled with questions in order of importance and type to help you pass the coding test.
We've also packed it full of everything you need to know before the coding test, from the mindset you need to study for the coding test to a review of Java grammar and data structure and algorithm theory.
It doesn't just solve problems; it helps you understand the principles.
It will definitely be of great help in your interview.

★ Write pseudocode, draw pictures, and analyze time complexity!
★ Code is important, but problem-solving thinking skills are more important!


The author says that while code is important, the process of thinking about how to solve a problem is more important.
They tell us to write pseudocode centered on problem-solving units to reduce wasted time, draw pictures to more easily grasp the core of the problem, and think about time complexity in advance to eliminate unnecessary algorithms and select appropriate algorithms.
However, it is not easy for you to do this from the beginning.
So, the main text is written in the following format: View pseudocode? Think with pictures? Consider time complexity.
This is not a book that simply solves problems.
This book will help you develop good coding test habits to increase your passing rate.

★ We 1000% support our readers' learning!
★ Study together through the author-run Naver Cafe, open KakaoTalk chatroom, GitHub, and Myogongdan!

Support 1: Naver Cafe (Daily Algorithm)
______ cafe.naver.com/dremdeveloper
〈Support 2〉 Open KakaoTalk chat room (open 24/7)
______ open.kakao.com/o/gQOVhU3f
〈Support 3〉 GitHub (Additional study materials + 100% correct answer code)
______ github.com/retrogemHK/codingtest_java
<Support 4> Golden Rabbit Study Support! Myogongdan (Carrot Miles provided for self-study)
______ goldenrabbit.co.kr/myoongdan

★ Introducing a learning structure that delivers 200% effectiveness!
Each chapter in this book consists of theory, practice problems, and practice test questions.
Start by taking a leisurely walk through the theory, then do some warm-up problems to test what you've learned, and then finish with a practice test.
Then, you will find yourself passing the coding test before you know it.

[Step 1] Building a solid foundation in theory
__The beginning of each chapter studies the theory with friendly explanations and abundant illustrations.
[Step 2] Warm up with practice problems
__Then, we will apply what we have learned to the relaxation problems created by the author himself.
[Step 3] Finish with a mock test
__This is a real-world coding test solution! Finally, get a feel for the real thing with these mock test questions and learn the know-how.
[Bonus Stage] Summary of Mom's Hand Notes
__Mom, take out your notebook and carry it around lightly to organize what you have studied.
It's especially useful when you're in a hurry.

★ Don't be nervous during the actual exam and prepare for the actual exam with the "Mock Exam"!
Have you ever felt disappointed when you couldn't perform well on problems you normally solved? The author says, "You need to practice for tests, too."
This book contains five mock exams at the level of new employees.
Each test consists of three questions that can be completed within three hours to ensure proper practice.
Take the test with a watch next to you.
Thorough exam practice will greatly increase your chances of passing.

★ A tear-off book of “Mother’s Day Hand Notes” that is great to take out when you want to remind yourself!
Exams are always nerve-wracking.
So, you need something good to look at before the exam. You can bring a book, but it's difficult to read a thick book before the exam.
So, I've prepared a summary book that's perfect for when you need a reminder.
The key contents of the book are tightly packed into the summary of “Eomchinah’s Hand Notes” provided by Tteotbook.
I think it will be a great help in reminding yourself before the exam.
GOODS SPECIFICS
- Date of issue: March 1, 2024
- Page count, weight, size: 792 pages | 1,394g | 183*235*40mm
- ISBN13: 9791191905694

You may also like

카테고리