People I would recommend this course to: People preparing for the coding test
I finally completed the course on July 14, 2023, when I bought the course and wrote a review, starting the semester in March 2023. I skipped 2 weeks each for the midterm and final exams during the semester, so I completed the course in 14 weeks. It's not 10 weeks, but it feels a little late because of school.
I started with a blank sheet of algorithms, not even knowing if there was a site called Baekjoon or Programmers. I learned C++ because I'm an engineering major, but I've never seen it again for 3 years, including 2 years in the military + 1 year, so I started with almost a blank sheet of paper.
I think I literally followed the instructions in the lecture. I studied the C++ textbook for about 2 weeks, went into the actual class, learned the concepts, solved problems, and if I got it wrong, I asked how to solve it, and when they answered, I followed them (they even always answered within a day). Before I knew it, I completed the course.
Now I know what an algorithm is and can tell you how to solve a problem. I couldn't even solve Baekjoon Bronze problems, but now I happily solve Silver problems and I'm growing by getting 50-60% correct on Gold sub-problems.
Of course, the problems included in this lecture are by no means easy. This is not an exaggeration..ㅠ When I took the class up to the 3rd week, I got almost all the problems wrong, so I doubted myself and wrote to the teacher, asking if I was really studying properly. Fortunately, I received feedback on this within a day, and I followed it.
This is a lecture with really solid updates. There was a major reorganization during the period I was taking the class. The lecture was updated by incorporating the opinions of the students. I even confirmed that the questions I asked were included, which is a little embarrassing... But it's great that the code is clean...
If you take this class, you will definitely have doubts dozens of times. Even though I looked at the C++ textbook, C++ is so difficult... How can I memorize it all? Every time I learn a new algorithm through a weekly lecture, how do I use it? How do I apply it? Should I just give up when I get a mistake on a problem that I sincerely solved and lose motivation?
All of these answers are in this lecture. Each problem is mentioned dozens of times so that you can memorize it. You may still not know. You may still have questions. Then ask. You can get the answer to your question on the same day at the earliest, or within 3 days at the latest.
Bigdolnim is the best! And fighting to all the other students!!
**** Companies that passed the coding test as of January 17, 2024
Nexon, LG CNS, LG Electronics, Hyundai Motors, and other boot camps
Although I did not pass due to insufficient specifications, I applied to companies that wanted to take the coding test and had good results at least in the coding test. I hope everyone will have good results through this lecture! Thank you.
**I passed the final interview at LG Electronics!
5.0
냠냐미냠냠냠
60% enrolled
Thanks to this lecture, I passed the LG Electronics exam!!
I am a major, but this lecture is the first time I started studying for a coding test in earnest,
and I would like to say that it was a great help.
(They even praised me for doing well on the coding test during the interview ㅎㅎ)
I highly recommend it!!👍👍
5.0
ghtkdrla321
38% enrolled
As IT becomes more crowded and competition for positions increases, the difficulty of coding tests is gradually increasing. I don't think that just doing 'implementation slightly, dfs/bfs slightly, dp slightly up to Baekjoon Silver-Gold lower level' like before can guarantee a stable pass.
Personally, I think that maintaining consistency is important when preparing for a coding test. Even in the test room, I think that it is important to think about how to solve it according to the flow of my usual thoughts, and when solving the logic into code, rather than doing different implementations, variable names, etc. as I feel like, I think that I can avoid exceptions such as 'condition issues' by doing it the way I usually do.
In that sense, I think this lecture is a lecture that I really recommend to majors.
ES-> Time Complexity Calculation-> Finding Improved Algorithms that are the same for all problems
It is based on a consistent solution for each week's algorithm, and you can continuously practice good habits that remind you that you have to pay attention to the consistency up to variable naming. ‘What kind of major would pay for a coding test?’ That’s right. You can do it on your own. But it’s a waste of time. I think that the carefully selected problems, consistent optimization solutions, quick query feedback that reduces the time spent on digging, and base codes through the textbook will be valuable leverages for majors as well.
What you will gain after the course
C++ Basics for Coding Tests and Algorithms
Algorithm
Data Structures
Tips for "Why is this wrong?" from a top 0.1% Baekjoon user
Algorithm concepts for coding tests, along with 160 recommended problems and video explanations.
Conquer coding tests now with a proven 10-week curriculum!😎
Coding test lectures Which one should you choose? 💬
There are many coding test courses, but not many are actually proven. I created this course based on my experience teaching students for three years and successfully helping those who knew nothing about algorithms get hired by major IT corporations.
* Attaching some of the KakaoTalk messages left by actual students who passed.
[Baedal Minjok (Baemin) Acceptance]
[LINE Acceptance]
[Naver Webtoon Accepted]
[Naver Acceptance]
[Kakao Acceptance]
[Samsung Electronics Acceptance]
Check out the reviews from successful candidates 💪
C++? It's okay if you don't know it! 3 years of know-how condensed into this algorithm study guide is all you need. It takes as little as 3 days, or 2 weeks at most!
* These are the minimum and maximum amounts of time it took for students who didn't know C++ to learn it, based on three years of teaching experience.
We explain the basics of C++ step-by-step based on examples.
It kindly teaches you all the data structures "perfectly" required for coding tests and the overall usage of C++ STL.
We explain the easiest and most efficient "killer codes" that can execute the core logic frequently found in coding tests.
It contains know-how on how to resolve frequently encountered and frustrating situations, such as "Why is this wrong when it should be right?"
In addition to this, we provide a 200-page teaching manual packed with C++ basics and various coding test know-how, so that even those who don't know C++ can perform algorithms using C++ with just this single guide.
With a total of 440 pages of course materials, perfectly covering everything from C++ to algorithm concepts
We provide a total of 440 pages of PDF files, combining the algorithm concept manual, C++ manual, and explanation manual. Through this, you can learn algorithms perfectly.
Top 0.1% of Baekjoon, the highest level of solution codes are provided.
Each problem is bound to have multiple answers, and among them, a best answer. I have continuously contemplated "What makes a better code?" while building these explanatory codes.
* For problem 1911, this shows achieving 6th place in the overall code rankings among all submitted solutions
You no longer have to waste time scouring the internet to find better or more understandable code. You only need to study the "explanation code" in this lecture. We have prepared and refined the highest quality code for our students.
From the perspective of solving the problem, we will teach you everything and pass on 3 years of premium know-how.
It doesn't just teach you to solve a problem because "this is the code"; it passes on the expertise perfected over three years of teaching students, including the perspectives and ideas behind why a problem should be solved in a certain way.
* Baekjoon 3986 Good Word Problem Solving
This problem is solved simply by using a stack. However, it explains in detail why you should think of a stack, how to come up with the idea of using a stack, and how to approach the problem to generate such ideas. Rather than just showing the final code, it focuses on the problem-solving process to help you refine your "thought process for solving problems."
Not only for coding tests, but you can also learn general data structures.
This course not only equips you with the algorithmic skills needed for coding tests but also allows you to build a solid foundation in overall data structures. In this course, you can learn a wide range of data structures, including vector, array, map, unordered_map, set, multiset, stack, and queue.
Even for coding tests restricted to Java or JavaScript, perfection is guaranteed.
Sometimes, there are cases where you must take a coding test using only Java or JavaScript. To prepare for such situations, I have even created a video explaining what to watch out for when converting knowledge learned in C++ to other languages, as well as the core logic that needs to be focused on specifically in Java and JavaScript.
160 problems, exactly what you need for coding tests, along with explanation lectures.
There are so many problems in the world. For example, in implementation, there are representative problems like the Robot Vacuum. For three years, while teaching students directly, I experimented over and over to find which problems should be solved in what order and how many to pass the coding test. As a result, I am revealing 160 carefully selected problems to you.
There are many courses in the world that solve easy problems or only a small number of problems. However, you can never pass a coding test by solving easy problems and a small number of questions. Based on a curriculum verified over three years, this is the only course in Korea that solves as many as 160 problems. This course contains the time I spent agonizing over and over so that you can pass the coding test just by solving the problems provided in this lecture.
I hope you no longer study algorithms in an inefficient way.
I hope you will no longer have to scour the internet in search of better, more understandable code.
Don't waste your time and
I hope you can finish your "coding test" preparation with this single lecture.
Check out the curriculum. 📚 📚
First, you should study by following the process of completely mastering the C++ algorithm textbook > conceptual lectures > solving problems on your own > watching the corresponding problem-solving lectures. You will focus on concepts frequently appearing in coding tests, such as implementation, DFS, BFS, tree traversal, brute force, backtracking, and bitmasking, with recommended problems (160 in total) provided for each week.
I believe that a course that is continuously updated is the best kind of course. As if to prove this, it was selected as the course with the most updates among all courses on Inflearn in 2022. I will always strive to provide the best learning experience by quickly incorporating student feedback and other areas for improvement.
My course is also well-known for providing fast and sincere answers when students ask "Why is this wrong?" (WA). As if recognizing this, I was selected as the instructor who provided the most answers this year at the 2024 Inflearn Awards. I will always strive to provide the best possible answers to my students' questions. :)
Notice regarding response to the termination of Baekjoon services on April 28th
Hello, I am the instructor Kundol. Despite the shutdown of the Baekjoon service, I have created the "Coding Apricot Club" exclusively for my students so that there are no issues with taking my course.
What Coding Apricot Club looks like
You can solve weekly practice problems as well as modified past exam questions from actual major corporations. :)
There's even a cute animation when you get it right ^_^
Check out the Frequently Asked Questions. 💬
Q. The coding test language for the company I am applying to is not C++. Will that be okay?
Yes, it is fine. I have seen many students study with this course, port the code to Java or JavaScript, and pass their coding tests. In fact, converting to another language is not very difficult. For example, to add an element to a vector in C++, you use the push_back() function, right? In Java, you use append(), and in JavaScript, you use push(). Since there are only these minor differences, I recommend studying with this course using C++, which is an easy language for learning algorithms, and then if you must use a different language for the coding test, porting it to that language.
thoughtful
You will need some practice on this part before taking the coding test, but it doesn't take that long. If you have to use Java for a coding test after learning with C++, it usually takes an average student about one day to complete the preparation for that transition.
For your reference, I have even created a video to help you prepare for that part. Please check it out. :)
Q. Can I take this course for the purpose of studying algorithms rather than specifically for coding tests?
Yes, that's fine. In fact, while the title of this lecture is "10-Week C++ Coding Test" for keyword optimization, it could just as easily be called "10-Week C++ Algorithms." Since I explain a vast number of problems—160 in total—covering general algorithm concepts and including difficult problems up to Platinum difficulty, it will be helpful for studying overall algorithm topics.
Q. Isn't C++ difficult?
C++ is difficult, but C++ for algorithms is not. Through the C++ for algorithms syllabus I have prepared specifically for this purpose, you can learn to implement algorithms in as little as 3 days or as long as 2 weeks.
Yes, it's fine. However, you must know how to program, and it's fine as long as you can implement logic based on at least one language.
Q. Can I pass a coding test just by solving the problems provided here?
Yes, I am confident that you will pass the coding tests of most companies. I can say this with certainty because I have experience helping students who knew nothing about algorithms pass coding tests for companies like Naver, Kakao, and Samsung using only this curriculum.
Q. Even if I solved the problem, should I still watch the lecture or look at the answer?
Yes, that's correct. For example, if a student's code is 10 lines long but the answer I created is only 1 line, you should transcribe my answer. To write better code, a review process is necessary where you look through my code and study it once more.
Q. Within how many days will I receive a response after asking a question?
You can receive an answer as quickly as within an hour, but you should generally expect it within 1 to 3 days. (Excluding weekends and public holidays)
Recommended for these people
Who is this course right for?
A student who is unable to find direction on what to do, even though their coding test is just around the corner.
Students who can solve problems to some extent but get stuck when actually taking a coding test
Those who do not know which algorithm to apply when solving problems
I've taken a few other coding test lectures, but there's no lecture as energetic as Bigdol's lecture. When I don't feel like studying, I feel energized when I watch the explanation lecture.
I can see that you put a lot of effort into the algorithm textbook.
When you first start learning algorithms in C++, you often don't know how much you should study, but this textbook contains all the content you need for algorithms, so it's good.
I like that the lectures only explain the key points without long explanations.
And they also select good problems, so I don't have to solve useless problems.!
Hello fb.
Thank you for your good review. ㅎㅎ
We will work hard to make the lecture even better.
If you have any feedback, please send it to me by email and I promise to review it and reflect it.
If you have any questions, please post them in the Q&A section and I promise to respond quickly.
Thank you.
Instructor Bigdol Upload
I was often exposed to the C language in college, but I was worried that I wouldn't be able to solve the algorithm because I wasn't familiar with it. However, my worries disappeared after I solved the problems by looking at the textbook that only included the key usage methods.
First of all, it's good that there are many fun parts in the middle of the concept lecture, so it doesn't get boring.
I think the characteristic of Teacher Bigdol's lecture is that the explanation is not complicated and only tells the key points.
However, in the end, I think the most important thing for coding tests is that you solve them consistently. I think that's also an advantage because you can solve high-quality problems that Teacher Bigdol has carefully selected.
Hello, Sangho.
Thank you for your good review. ㅎㅎ
We will work hard to make the lecture even better.
If you have any feedback, please send it to me by email and I promise to review it and reflect it.
If you have any questions, please post them in the Q&A section and I promise to respond quickly.
Thank you.
Instructor Bigdol Upload
Pros
ㆍ Quick answers to questions, quality communication and constant updates
ㆍ Detailed explanations when teaching concepts every n weeks
ㆍ Techniques for problem solving and efficient codes
Cons
ㆍ Lectures that feel like review
ㆍ Lectures focused on algorithms (C++ basic concepts omitted)
Personally, I think most of the cons are covered by the lecture materials.
Hello 03developer.
Thank you for your good review. ㅎㅎ
We will work hard to make the lecture even better.
If you have any feedback, please send it to me by email and I promise to review it and reflect it.
If you have any questions, please post them in the Q&A section and I promise to respond quickly.
Thank you.
Instructor Bigdol Upload
<1st inquiry>
I can't listen at all, so I'm requesting a refund. This lecture is said to be based on the basics, but like other people's reviews, it seems like a lecture that someone who is already familiar with algorithms takes to review. For example, let's look at what the instructor said at 23:40 in the BFS lecture. "BFS is only possible with the same distance (weight). For example, the distance from (1) to (5) in this graph is 3 or 101. So the correct answer is 3~ So it's impossible if the weights are different." Does this explanation sufficiently explain why BFS is only possible with graphs with different weights? From the student's perspective, it seems like they just deciphered the graph... I felt this way in every lecture, so even though I was listening to the concept lecture part, I learned the concept from somewhere else. Do I have to pay for this? I can't listen to it anymore. I'm requesting a refund.
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
<2nd Inquiry>
I think you don't understand the point of what I said after seeing your reply, so I'll say it again. First, I wrote Q1 wrong. 'Do you think it's sufficiently explained why BFS is only possible in graphs with the same weights?'.
The dialogue in double quotation marks below is written exactly as it is in the BFS lecture.
"It only takes 2 spaces in a graph with the same weights. But let's think about it as if the weights are different. From '1' to '2', the weight is 1, and from '1' to '3', the weight is 100. Then, if we search with BFS, it will be 101 squares. Right? But the correct answer is 3. So, BFS uses the characteristic of searching by level to be used as a shortest path algorithm in graphs with the same weights, but it doesn't work in graphs with different weights."
Here, 'If we search with BFS, it will be 101 squares' -> It seems to the students that the conclusion was suddenly reached. I saw the lecture that explained the two BFS pseudocodes above. Assuming that you are using the capital code 2
(1) When visiting from 1 to 2
'1'.visited = 1
In the while loop, '2'.visited = '1'.visited + 1 = 1+1 = 2
(2) When visiting from 1 to 3
'1'.visited = 1
In the while loop, '3'.visited = '1'.visited + 1 = 1+1 = 2
I think it is interpreted as the same distance whether there is weight or not? Why do I think this way? There must be a logical leap in the lecture. Oh, did you explain the difference between weight and distance (from 'shortest distance' to 'distance')? There's a logical hole here too. There's another one. In the BFS lecture, there was no explanation as to why there could be two pseudo codes, or why the second pseudo code should be used, and the conclusion was simply that 'pseudo code 1 is more theoretical and should be solved like pseudo code 2 when solving problems' (and it felt like I just read the blog post), and there was no convincing reason.
Let's look at it more.
In the explanation of 'connected components' at 6:50 in the same lecture,
'connected components' = explained as a 'set' of vertices and edges, but then, in the diagram, does 'set' of vertices and edges mean 1 / 1 / 1? If we consider 'set' = lump. But the instructor says, 'There are 2, 3, and 2 connected components.', and there is no explanation as to why there are 2, 3, and 2. The instructor just states the conclusion as if it were obvious and moves on from a concept that he takes for granted. Don't you usually think that 'set' = 'lump'? Then, the 'connected components' in the picture are not '2, 3, 2' as the instructor said, but when viewed as a lump (set), they are '1, 1, 1'. That means there are many leaps between logic and logic, making it difficult to understand. I keep saying that if it is a basic lecture, additional explanations, reasons, and backgrounds are needed to fill in the leaps between logic and logic. Can you fully listen to the lecture when there are such logical leaps in just 10 seconds?
I am confused because there are so many logical leaps even without listening to a single lecture. I kept feeling that it was difficult to find backgrounds or reasons for the lecture, which is supposed to be a lecture that even beginners can listen to, and for basic algorithms. Just like other people say. Do you think the instructor sufficiently explained the 'logical leaps' that I mentioned above in the lecture? If so, please tell me where they are. But then I wouldn't have asked this...
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
[3rd inquiry]
1. I apologize for making it sound sarcastic when you said that you never did that to my first question (it doesn't seem like it's for beginners, but the lecture introduction says it's for beginners). But why do you say that you never did that when other students say that it doesn't feel like it's for beginners?
2. Regarding the second answer. I didn't ask about the shortest distance taking fewer cells. I asked about the difference between weights and the shortest distance because the lecture mentioned that weights are related to calculating the shortest distance. If you don't understand it as a student, you should give an answer. Please answer.
3. Also, regarding the second answer
You said that the lecture explained it like this: 'BFS explanation: Search by level: Graph with different weights'.
=> I don't understand why the result is not the correct answer based on this content. Please explain that part in detail again.
4. This is also related to the second answer. 'You said that you didn't listen to a single lecture, but in your previous statement, you said that you felt that way even though you listened to all the lectures. It doesn't make sense'
=> Instructor, I feel like you are picking on all my answers. I told you that I felt that the lectures I've taken so far (recursive functions, time complexity, dfs bfs) were logically insufficient, and you used the bfs lecture as an example and said, "I didn't listen to the bfs lecture, but I made this logical leap in 10 seconds".....
I think you are picking on what I said.
5. This time, it's related to the second question. I haven't heard an answer yet regarding the connection component. Please answer so that the student can understand.
Overall, it seems that you did not understand the main point of all my questions. Please explain from the perspective of a beginner. Let me say it again. If you are asking about something that you do not understand, and you repeat your lecture saying, “I have never done that before,” will the student understand? Please try to understand the question from the perspective of the student, and I am asking you to answer the part that I do not understand. Please do not deny it and just repeat the content of your lecture.
Since you said that the instructor was being sarcastic, I explained only the parts that I did not understand this time. So please answer. It is the responsibility of the instructor who refused the refund and received the money to answer the student’s question. I earnestly ask you to answer from the perspective of the student. If there is no answer to the question, I will post it again on the community or Q&A board. If that does not work, I will request a refund through Infraon for not answering the question. So this time, I would appreciate it if you could explain in detail the parts that "I" "don't understand" so that I can fully understand them.
Hello, WeeklySugang.
Do you think this explanation sufficiently explains why BFS is only possible on graphs with different weights?
>> I never said that BFS is only possible on graphs with different weights, but I said that BFS can be used as a shortest distance algorithm on graphs with the same weights. Also, I updated the BFS lecture with a little more explanation based on WeeklySugang's feedback. Please refer to it.
Oh, did you explain the difference between weight and distance ('shortest distance' to 'distance')?
>> When explaining weight, I explained it using three words: time, distance, and number of cells. Also, there is no reason to explain the difference between weight and distance. This is because weight includes distance, time, etc. I clearly explained that distance can be a weight.
You only gave the conclusion, and there was no convincing reason.
>> I updated the lecture with a little more convincing reason.
I will request a refund through Infraon because you did not answer my question. So this time, please explain in detail the parts that I "do not understand" so that I can fully understand.
>> Based on the feedback from the one-week class, I have updated the relevant lecture. If you feel that this updated lecture is also a lecture worthy of a refund, I will refund you. Please request it through Infraon.
Thank you.
I am also a student taking this course. Personally, I didn't really feel like any content was being skipped while listening to the lectures. (Though it's possible the instructor updated the course after the feedback was given.)
Furthermore, it is a perfectly natural part of the process for concepts not to be fully understood after just one viewing, no matter how good a foundational course is. Supplementing areas where understanding is lacking by looking up other materials or internalizing the concepts by dissecting the code is the responsibility of the learner; I believe it is unreasonable to hold the instructor accountable for that as well.