inflearn logo

[Python] The DFS Algorithm Even Liberal Arts Students Can Understand! – Beginner’s Edition

This is a beginner-friendly DFS course where a working developer with a liberal arts background explains exactly how they studied to land a job :) I’ve kept the boring theory to a minimum and prepared a course where you learn by solving problems yourself! After taking this course, you’ll be able to solve Silver-level DFS problems on Baekjoon on your own.

(5.0) 20 reviews

188 learners

Level Basic

Course period 12 months

dfs
dfs
Algorithm
Algorithm
Coding Test
Coding Test
Python
Python
python3
python3
dfs
dfs
Algorithm
Algorithm
Coding Test
Coding Test
Python
Python
python3
python3
Thumbnail

Reviews from Early Learners

5.0

5.0

sonbal22

100% enrolled

Best lecture Please upload other subjects besides DFS quickly

5.0

noeliden1

100% enrolled

DFS, this is a lecture that will definitely help 100% for those who are having difficulties implementing recursive functions. The teacher's voice is good, and the lecture content is really informative and concise at the same time. The images used in the lecture also helped me a lot in understanding DFS. He answers questions quickly and is really the best teacher. ㅠㅠ I think the only flaw is that there are no other types of algorithm lectures. Please hurry up and make other algorithm lectures!

5.0

kayden

100% enrolled

I only solved implementation problems at Bronze difficulty in Baekjoon, but when I tried to challenge the Silver problem, I felt like I couldn't even touch it without learning the algorithm. So I tried various algorithms, but DFS was really hard to get a feel for. I felt like I didn't understand it at all. As those who solve problems know, if I don't completely understand it, I can never make it my own. Then I found this lecture and took the free lecture and it was so good. Thanks to it, I was able to solve all the problems included in the lecture and completely understood them. If it weren't for this lecture, I think I would have spent more time and been stressed out. Thank you. If there's something I wished for more, it would have been good if you had covered the problems up to the Gold level. There were a lot of similar problems, so it was a little disappointing. That's both an advantage and a disadvantage. It can be an advantage for someone who is a beginner at DFS and wants to get a feel for it, but it can be a little disappointing for someone who has a feel for it. However, I'm so happy that I got a feel for DFS thanks to it. Thank you for making the lecture. Have a nice day!

What you will gain after the course

  • Enough with boring theory lessons! Learn DFS strategies through problem-solving!

  • Focus and concentrate on only the most frequently tested question types!

  • The ability to solve DFS problems independently

A DFS algorithm that’s harder than you might think?
Learn it quickly through frequently appearing problem types!

Have you ever had thoughts like these?

🤔

How can I tell that this problem should be solved using DFS?

🥲

Even when I know it’s DFS, I still feel stuck every time. Is there a common approach to solving these problems?

😥

I can’t visualize recursive functions in my head. How can I organize them so I can understand them?

For non-majors, by a developer with 8 years of experience
DFS Algorithm Course 🪢

DFS (Depth First Search)

One of the methods for traversing an entire graph, this algorithm prioritizes exploring by “depth.”

This course is an introductory lecture on the DFS algorithm, designed to help you experience DFS problems firsthand by solving the most frequently asked ones. After briefly reviewing the key concepts, you will solve problems from each category to develop the ability to recognize, “This is a DFS problem,” and master DFS by learning the core principles that apply to all problems :D

These are comments posted on the YouTube channel I run.

This course will be a great help to those who have studied the DFS algorithm but still don’t fully understand it or find it difficult to come up with solutions on their own. Created by an active developer with eight years of experience and a liberal arts background specifically for non-majors, I promise it will be easier to understand than any other course.

Recommended for 🙋

Those who know basic Python syntax but are preparing for coding tests for the first time

Those who have tried solving DFS problems on their own but still aren't sure how to approach them

Those who feel overwhelmed when faced with a problem even after taking theoretical lectures


Course Highlights ✨

1. Let's organize the clues that indicate it's a DFS problem.

During my lectures, one thing students especially often said was, "I didn’t know I was supposed to solve it using DFS."

So in the course, we start by reading the given problem together and find the answer to the question, “What keyword in this problem should have made us think of DFS?”

2. We show you how the data structures change as the program runs.

This lecture does not replace explanations with simple diagrams or merely explain things verbally while typing code! Using animations, it clearly demonstrates everything from what size to define the data structures and how to initialize them, to how values change step by step to arrive at the answer.

3. Summarize the key concepts that apply across problems

Although the implementation varies from problem to problem, the commonalities among problems that require the DFS algorithm remain the same. Through the lecture, we organize by problem type what is essential for solving DFS problems well, and take time to reinforce and review the key points of every problem.

After completing this course, you’ll be able to quickly identify the common elements and differences when you encounter a new DFS problem, allowing you to solve DFS problems on your own!

📚 We select and organize 12 carefully chosen problem types.

In this course, we selected 12 of the DFS introductory problems on Baekjoon (Silver 4–2) that were solved by the most people and found the most difficult. We then divided them into two subtypes and organized the key concepts needed for each type. The detailed types and problems are as follows.

Type 1. Finding Connected Components

  • Virus (2606) (Free to view)
  • Number of Connected Components (11724)
  • Algorithm Class - Depth-First Search 1 (24479)
  • Algorithm Class - Depth-First Search 2 (24480)
  • DFS and BFS (1260)
  • Kinship Calculation (2644)
  • Finding the Parent of the Tree (11725)

Type 2. Finding the Same Group

  • Organic Cabbage (1012) (Free to view)
  • Infiltration (13565)
  • Number of Islands (4963)
  • Floor Decoration (1388)
  • Jelly the Jump King (Small) (16173)

I know how overwhelming it can feel, so
I’ll point you toward an easier path 🚩

Hello :) I started out as a liberal arts student majoring in business and economics, and I am now an enterprise developer with 8 years of experience, helping people get a job as a developer.

  • 8-year corporate developer
  • YouTube creator covering content related to getting hired as a developer ( https://www.youtube.com/@gaebal )
  • Instructor for an introductory C++ course on the Programmers platform
  • Elice platform algorithm quiz chip live session and solution book creator (Python/Java/C++)

Thinking back to when I first learned programming eight years ago, it felt truly daunting and difficult, but by organizing things and solving problems using my own strategies and methods, I think I was able to find a job a little faster and more successfully.

Especially if you're a non-major who finds coding tests particularly difficult, I think you'll be able to understand them easily by taking this course taught by a non-major. Thank you! :)

A Recommended Course to Watch Alongside 📺


Q&A 💬

Q. Why is the course so short?

As an instructor, it would be most advantageous for me to add many problems, create one large course, and raise the price accordingly. However, the explanations and content needed differ at each stage. Above all, considering that most of my subscribers and students are job seekers without an income, I thought it would be better to divide the course into the smallest units possible and keep the price low. That is why this course is shorter and smaller in scope compared to other courses.

Q. Can I understand DFS even though there aren’t many problems?

For the reasons mentioned above, I divided the course into smaller sections, and that is why I am also preparing application and advanced courses covering Gold- and Platinum-level problems following this introductory course. Therefore, I believe it would be misleading to tell students, “You’ll be able to solve every DFS problem after taking just this course!” (After all, studying necessarily requires time to think things through on your own.) However, what I can promise is that there is no course that will introduce you to DFS as easily as this one, and that after completing it, you will be able to study and understand DFS on your own. That is why I can confidently recommend it to those who do not need simple solution videos and want to learn how to fish.

Q. There are solution videos on YouTube too. Aren’t they the same?

The overall flow is the same, but because of YouTube’s nature, the videos cannot be too long, so most of the supplementary explanations have been omitted. As a result, many subscribers have left questions in the comments and expressed their disappointment, and I created this online course to address those shortcomings.

I’ve included the content in a way that makes everything I know as easy and concise as possible to understand. In fact, the issue of viruses and organic cabbages is provided for free as part of the course and is also available on YouTube. I think it will be easier for you to judge for yourself how the brief summary on YouTube is explained in greater detail in this course, so please take a look!

Q. How long does it take to receive a response after asking a question?

Unless something special comes up, I will respond within 24 hours during working hours, and no matter how late it is, I will respond within 72 hours at the latest. I’ve taken many online courses myself and have found that when instructors respond quickly, it helps maintain a faster study pace, making online courses potentially more effective than in-person classes. However, I also understand that when an instructor’s response is slow, motivation to study drops accordingly, which is why I check the comments every day and respond to questions!

Q. Are there any questions I shouldn’t ask?

As I mention in every video, all questions are always welcome. In most cases, if something was unclear to you, other students were probably wondering about it too. However, I think establishing a few rules will help make the questions beneficial to everyone.

1. Please post your question on the video related to your question!

  • Since each video covers different content, posting your question on the relevant video will make it beneficial to everyone by allowing people to help one another.

2. Please submit questions about life advice, employment, and similar topics through the mentoring section.

  • Since the answers to these questions may vary depending on each person’s situation, please ask more personally so that I can provide you with accurate guidance as well. If I answer through a public question, I can only give a vague response, so please leave these kinds of questions in the mentoring section, and I will answer them sincerely.
  • Mentoring link: https://inf.run/kCsp

3. Please also submit “Why doesn't it work?”-type questions through the mentoring section.

  • Out of frustration, some people copy and paste their entire code and ask me to take a look. Questions like these are unlikely to help others, and since each person’s situation is different, please contact me individually through the mentoring section. I’ll explain what is wrong, why it is wrong, and how to fix it!
  • Mentoring link: https://inf.run/kCsp

💾 Please check before enrolling.

  • For the practice environment, you may use any OS/IDE. I write code using VS Code on Windows 11.
  • However, it will be easier to follow the lecture if you prepare an environment in advance where you can write code yourself and Build/Debug it.
  • The PPT used in the course is provided in PDF format.
  • We will proceed with the course assuming that you understand Python's basic syntax. Having experienced DFS at least once will make it easier, but don't worry—there is also a brief basic explanation for those who are unfamiliar with DFS!

Recommended for
these people

Who is this course right for?

  • Those new to coding tests and DFS algorithms

  • Anyone who has experienced their head exploding while trying to understand recursive functions

  • A coding test beginner who knows the syntax but feels utterly intimidated when faced with a problem.

  • Those who understand the concept of DFS but feel lost because they can’t come up with a solution when they see a problem.

  • For those tired of theory and wanting to solve problems together.

  • Those preparing for coding tests in Python

Need to know before starting?

  • Basic Python syntax (conditional statements, loops, input/output statements, etc.)

Hello
This is gaebaljob

670

Learners

70

Reviews

76

Answers

5.0

Rating

2

Courses

I am "Getting a Job as a Developer," an instructor who teaches algorithm classes that even humanities majors can understand :)
I come from a humanities background and am currently an 8th-year developer at a major corporation. Recalling the days when I first encountered coding and felt overwhelmed while preparing for coding tests, I am creating these lectures while contemplating how to explain things more easily so that non-majors and humanities students like myself can understand and acquire new skills.
I also provide free lectures on YouTube, so I would appreciate your interest!
https://www.youtube.com/@gaebal

More

Reviews

All

20 reviews

5.0

20 reviews

  • busanpsy1255님의 프로필 이미지
    busanpsy1255

    Reviews 1

    ∙

    Average Rating 5.0

    5

    100% enrolled

    This is a high-quality lecture. Now I can finally see how to approach the DFS type a little more clearly. I will review it to make it completely mine! I am really looking forward to the next lecture.

    • gaebaljob
      Instructor

      Thank you for your great review, jobababa! :)

  • limeorange님의 프로필 이미지
    limeorange

    Reviews 2

    ∙

    Average Rating 5.0

    5

    100% enrolled

    Thanks to this lecture, I was able to clearly learn the concept of DFS. As I look back on the time I spent studying on my own, I feel regret that I didn't have such a great teacher to guide me earlier, and I am grateful that I can learn properly now. This is a very precious lecture. Just looking at how you deliver the lecture step by step and easily, I think you are quite capable, so I think you must be very busy, but I hope you will make more advanced lectures on other algorithm concepts soon!! I will wait eagerly😊😊^_😭 Thank you again for taking the time to create such a high-quality lecture~~!!

    • gaebaljob
      Instructor

      sapienslee, thank you so much for writing such a wonderful review! I'll work hard to create even better lectures :) Thank you!

  • wnstjd27548253님의 프로필 이미지
    wnstjd27548253

    Reviews 1

    ∙

    Average Rating 5.0

    5

    100% enrolled

    I only solved implementation problems at Bronze difficulty in Baekjoon, but when I tried to challenge the Silver problem, I felt like I couldn't even touch it without learning the algorithm. So I tried various algorithms, but DFS was really hard to get a feel for. I felt like I didn't understand it at all. As those who solve problems know, if I don't completely understand it, I can never make it my own. Then I found this lecture and took the free lecture and it was so good. Thanks to it, I was able to solve all the problems included in the lecture and completely understood them. If it weren't for this lecture, I think I would have spent more time and been stressed out. Thank you. If there's something I wished for more, it would have been good if you had covered the problems up to the Gold level. There were a lot of similar problems, so it was a little disappointing. That's both an advantage and a disadvantage. It can be an advantage for someone who is a beginner at DFS and wants to get a feel for it, but it can be a little disappointing for someone who has a feel for it. However, I'm so happy that I got a feel for DFS thanks to it. Thank you for making the lecture. Have a nice day!

    • gaebaljob
      Instructor

      Hello Junseong :) Thank you for sharing your sincere thoughts in your review. I actually didn't consider the fact that there are many similar problems, so I'll think about it more and add more problems or separate the gold problems and proceed with them. I'll come back with a better class next time!

  • dydwls21251069님의 프로필 이미지
    dydwls21251069

    Reviews 1

    ∙

    Average Rating 5.0

    5

    68% enrolled

    g

    • 16207486323님의 프로필 이미지
      16207486323

      Reviews 2

      ∙

      Average Rating 5.0

      5

      100% enrolled

      It was an appropriate lecture as a class for beginners.

      • gaebaljob
        Instructor

        Thank you so much for leaving a comment, Bocheon!! I will upload more great lectures!!

    Similar courses

    Explore other courses in the same field!

    Free