강의

멘토링

로드맵

BEST
Programming

/

Algorithm & Data Structure

[Java] DFS Algorithm Understandable Even for Liberal Arts Students! - Introductory Edition

This is a basic DFS lecture that explains the way a liberal arts major and working developer studied to get a job :) We have prepared a lecture where you can learn by solving problems yourself, with minimal boring theory lectures! After taking this lecture, you will be able to solve silver level DFS problems on your own according to Baekjoon standards.

(5.0) 41 reviews

428 learners

  • gaebaljob
코딩테스트
실습 중심
dfs
Algorithm
Coding Test
Java

Reviews from Early Learners

What you will learn!

  • No more boring theory classes! Learn DFS strategy through problem solving!

  • Select and focus on only the most frequently asked types!

  • Ability to solve DFS problems on your own

DFS algorithm is more difficult than you think.
Learn with high-frequency problems 💡

Have you ever thought about this?

🤔 How do I know that I should solve this problem using DFS?

🥲 Even though I know what DFS is, I always feel lost. Is there a common solution? 

🫠 I can't picture recursive functions in my head. How can I organize them so I can understand them?

8-year developer's guide for non-majors
DFS Algorithm Lecture 🪢

DFS (Depth First Search) is one of the methods for exploring the entire graph, and is an algorithm that prioritizes 'depth'.

This lecture is an introductory lecture on the DFS algorithm. The goal is to provide hands-on experience with DFS problems by solving the most frequently asked problems . After briefly summarizing the key concepts, we will solve problems of each type to develop the perspective to recognize that "this problem is a DFS problem" and cover the core that runs through all problems. This is a lecture created to conquer DFS :D

This lecture will be of great help to those who have studied the DFS algorithm but struggled to understand it or find it difficult to come up with solutions on their own. Created by a liberal arts major with eight years of experience as a developer, this lecture is designed for non-majors, so I promise it will be easier to understand than any other lecture. Below are comments left on my YouTube channel.


I recommend this to these people 🙋

Those who know basic Java grammar but are preparing for a coding test for the first time

People who have tried to solve DFS problems on their own but still can't get the hang of it

People who feel lost when they actually see the problem even after attending the theory lectures


Lecture Features ✨

#1.
The DFS problem
Let's summarize the hints.

A common comment students make during my lectures is, "I didn't know I had to solve this using DFS." So, I start by reading the problem together and answer the question, "What keywords should have led me to DFS in this problem?"

#2.
As the program progresses
Changing data structures
Let me show you.

This course is not about replacing explanations with simple pictures or just explaining things with words and code!

We'll use animations to show you everything from how to define and initialize data structures to how values change step by step to find the correct answer.

#3.
Penetrating the problem
Let's summarize the main points.

While implementations vary from problem to problem, the common threads among problems requiring the DFS algorithm remain constant. This lecture will outline the key elements for successfully solving DFS problems, organized by type, and provide time to solidify and recap the core concepts for each problem.

After going through this process, you will be able to solve new DFS problems on your own by quickly determining what parts are common and what has changed!


What you'll learn 📚

In this lecture, we've selected 12 of the most frequently solved and most challenging DFS introductory problems (Silver 4 to 2 levels) registered on Baekjoon. We then divide these problems into two subtypes and summarize the core concepts required for each type. The detailed types and problems are as follows.

Type 1. Find connected elements type

  • Virus (2606) (Free to Download)
  • Number of connected elements (11724)
  • Algorithm Class - Depth-First Search 1 (24479)
  • Algorithm Class - Depth-First Search 2 (24480)
  • DFS and BFS (1260)
  • Degree of kinship calculation (2644)
  • Finding Parents of a Tree (11725)

Type 2. Finding the same category

  • Organic Cabbage (1012) (Free Publication)
  • Infiltration (13565)
  • Number of islands (4963)
  • Floor decoration (1388)
  • Jump King Charlie (Small) (16173)




Expected Questions Q&A 💬

Q. Why are the lectures so short?

As an instructor, it would be most advantageous for me to add a lot of problems to create one large lecture and increase the price accordingly. However, considering that the explanations and content required for each level vary, and most of my subscribers/students are job seekers without income, I thought it would be better to break it down into smaller chunks and lower the price. Therefore, I made it shorter and more compact than other courses.

Q. I don't have many problems, but can I still understand DFS?

For the reasons mentioned above, I've divided the course into smaller sections, and following the introductory course, I'm also preparing applied and advanced courses covering Gold and Platinum levels. Therefore, I believe it would be deceptive to say, "This course alone will teach you how to solve all DFS problems!" (After all, studying requires time for independent reflection). However, I can promise you that no other course introduces DFS as easily as this one, and that after completing it, you'll be able to study and understand DFS on your own. Therefore, I can confidently recommend this course to anyone who doesn't need simple solution videos and simply wants to learn how to fish.

Q. There's a solution on YouTube too, isn't it the same?

While the general flow remains the same, due to the nature of YouTube, videos cannot be long, so I omitted most of the additional explanation. Many subscribers asked questions and expressed their disappointment in the comments, and to address this, I created an online course.

I've tried to present everything I know in the simplest, most concise way possible. In fact, the virus and organic cabbage topics are provided free of charge in the relevant lectures and are also available on YouTube. It'll be easier to judge for yourself if you see how the brief summary on YouTube is explained in more detail in this lecture, so please refer to it!

Q. How long does it take to get a response if I ask a question?

Unless something unusual comes up, I'll respond within 24 business hours, and at the latest, within 72 hours. Having taken many online classes, I've found that the faster the instructor responds, the faster the learning pace, making them more effective than offline classes. However, I also know that a slower instructor response time can decrease motivation, so I check comments daily and answer questions!

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

As I say in every video, all questions are always welcome. Most likely, other students have the same questions I've had. However, I think establishing a few rules will make it more beneficial for everyone to ask questions.

1. Please leave a question related to the video!

    • Since each video covers different topics, I think it would be helpful for everyone if you could post your questions on the relevant video so that we can help each other.

2. For life counseling/employment-related questions, please contact us through the mentoring section.

    • Since answers to these questions can vary depending on each individual's situation, asking them in a more personal manner allows me to provide more accurate guidance. Publicly answering these questions would only yield vague answers, so please leave your questions in the mentoring section and I'll be happy to answer them.
    • Mentoring Link: https://inf.run/kCsp

3. Please also submit questions like "Why not?" through the mentoring section.

    • Sometimes, frustrated, people copy and paste the entire code and ask for help. These questions are unlikely to be helpful to others, and each person's situation is unique. Therefore, if you contact us individually through the Mentoring section, we'll explain what's wrong, why it's wrong, and even how to fix it!
    • Mentoring Link: https://inf.run/kCsp

Things to note before taking the course 📢

Practice environment

  • I'm writing code using VS Code on Windows 11.
  • Students can use any OS/IDE.
  • However, if you prepare an environment in advance where you can write code and build/debug, you can take the lectures with ease.
  • For those who find detailed settings cumbersome or difficult, we recommend using Eclipse. ( https://www.eclipse.org/downloads/ )

Learning Materials

  • We provide the PPT used in the lecture in PDF format.

Player Knowledge and Precautions

  • The lecture proceeds assuming that you understand the basic grammar of Java.
  • If you have experience with DFS at least once, it will be easier, but don't worry, there is a brief basic explanation for those who don't know DFS!

Introducing the Knowledge Sharer ✒️

Hello :) I started out as a liberal arts student majoring in business and economics, and now I've been working as a developer for eight years at a large corporation. Thinking back to when I first started learning about programming eight years ago, it felt overwhelming and challenging. However, by organizing and solving problems in my own way and developing my own strategies, I think I was able to find a job a little faster and more successfully. Especially for non-majors who struggle with coding tests, this lecture, taught by a non-major, will make it easier to understand. Thank you for your support! :)

Resume / Portfolio / Personal Videos

  • 8 years of experience as a developer at a large company
  • YouTube creator covering developer employment-related content ( https://www.youtube.com/@gaebal )
  • Programmers Platform C++ Introduction Course Instructor
  • Ellis Platform Algorithm Quiz Chip Live Session and Commentary Production Manager

Recommended for
these people

Who is this course right for?

  • Coding test/For those who are new to the DFS algorithm

  • Anyone who has ever had their head explode trying to understand recursive functions

  • Beginners to coding tests who know grammar but feel infinitely small in front of problems

  • I understand the concept of DFS, but I am at a loss because I can't come up with a solution when I see a problem.

  • Anyone who is tired of theory and wants to solve problems together

  • For those preparing for a coding test in Java

Need to know before starting?

  • Java basic grammar (conditional statements, loops, input/output statements, etc.)

Hello
This is

580

Learners

57

Reviews

75

Answers

5.0

Rating

2

Courses

문과생도 이해하는 알고리즘 강의를 가르치는 강사 개발자로 취직하기입니다 :)
저는 문과생 출신으로 현재는 8년차 대기업 개발자입니다. 처음 코딩을 접하고 코딩 테스트 준비를 하던 막막한 시절을 떠올리며, 어떻게 하면 조금 더 쉽게 설명할 수 있을지, 저 같은 비전공자 문과생도 이해하고 새로운 기술을 습득할 수 있을지 고민하며 강의를 제작하고 있습니다.
유튜브 통해서도 무료 강의 진행하고 있으니 많은 관심 부탁 드립니다!
https://www.youtube.com/@gaebal

Curriculum

All

19 lectures ∙ (3hr 49min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

41 reviews

5.0

41 reviews

  • kwsic6676님의 프로필 이미지
    kwsic6676

    Reviews 1

    Average Rating 5.0

    5

    53% enrolled

    I bought it because I was planning to prepare for the coding test starting in September for a job change. I listened to two lectures on my way home from work to get a taste, but my head was really spinning... Please hurry up and give me the other one... You know that lectures come before health, right??

    • gaebaljob
      Instructor

      Thank you, kwsic, for your honest and fun course review!! :) The lecture is more important than your health, but I forgot haha I'll come back for the next lecture soon! The goal is by August, but I'll try to bring it up a bit!

  • tgtgtg88928740님의 프로필 이미지
    tgtgtg88928740

    Reviews 1

    Average Rating 5.0

    5

    63% enrolled

    It's so easy to understand!

    • gaebaljob
      Instructor

      Thank you for the great review, Minkim :) Good luck with your studies!

  • sujin96102367님의 프로필 이미지
    sujin96102367

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    • gaebaljob
      Instructor

      sujin9610, thank you for the great review! :)

  • eovnfjfpa4963님의 프로필 이미지
    eovnfjfpa4963

    Reviews 15

    Average Rating 5.0

    5

    32% enrolled

    I was studying for coding tests and got stuck on DFS and BFS. I couldn't understand them well and found them difficult. I could somewhat grasp BFS, but DFS was really hard, and now it feels like something just clicked!! Thank you for providing such a high-quality lecture at a low price. Do you have any plans to film other algorithms, like BFS or DP? Please release them, Instructor!!!

    • gaebaljob
      Instructor

      Thank you so much, eovnfjfpa님 :), glad it helped clear things up. I really want to release the lecture too, but I'm working on new challenges lately, which is causing delays 😭😭. I'll get it ready soon! Conquer algorithms/coding tests!!

  • syjoy1993님의 프로필 이미지
    syjoy1993

    Reviews 6

    Average Rating 5.0

    5

    63% enrolled

    • gaebaljob
      Instructor

      Thank you for the concise review! Good luck with your studies! :)

Limited time deal

$14.30

23%

$18.70

gaebaljob's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!