강의

멘토링

로드맵

Inflearn brand logo image
Programming

/

Algorithm & Data Structure

[Python] 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) 14 reviews

148 learners

  • gaebaljob
3시간 만에 완강할 수 있는 강의 ⏰
코딩테스트
알고리즘
dfs
파이썬코딩
Algorithm
Coding Test
Python
python3

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 quickly with frequently appearing question types!

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?

For non-majors, from an 8-year developer
DFS Algorithm Lecture 🪢

DFS(Depth First Search)

One of the ways to explore the entire graph is an algorithm that prioritizes 'depth'.

This course is an introductory course on the DFS algorithm. It aims to provide hands-on experience with DFS problems by solving the most frequently asked questions . After briefly summarizing key concepts, you'll work through each type of problem to develop the ability to recognize that "this is a DFS problem." This course aims to cover the core concepts that permeate all problems, ultimately conquering DFS.

These are comments on the YouTube channel I run.

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.

I recommend this to these people 🙋

Those who know basic Python 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. Let's summarize the hints for the DFS problem.

While I was giving lectures, the thing that students often said was, "I didn't know I had to solve it using DFS."

Therefore, in the lecture, we read the presented problem together and find answers to the question, "What keywords should I have used to think of DFS in this problem?"

2. I will show you the data structure that changes as the program progresses.

This course isn't just about using simple diagrams or typing out code to explain things! Animations are used to demonstrate everything from defining data structures to their sizes and initializing them, to how values change step by step to arrive at the right answer.

3. Summarize the core points that run through the problem.

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!

📚 We have selected and organized 12 carefully selected problem types.

In this lecture, we've selected 12 of the most frequently solved and most challenging DFS introductory problems (Silver Level 4-2) registered on Baekjoon. We then divide these problems into two subtypes and outline the core concepts required for each. 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)

As much as I know your feelings of helplessness
Let me show you an easier way 🚩

Hello :) I started out as a liberal arts student majoring in business/economics, and I am currently working as a developer for 8 years at a large company.

  • 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++ Introductory Course Instructor
  • Ellis Platform Algorithm Quiz Chip Live Session and Commentary Production Manager (Python/Java/C++)

When I think back to when I first learned about development eight years ago, it was quite overwhelming and difficult, but by organizing and solving problems with my own strategies and methods, I think I was able to get a job a little faster/better.

Especially if you're a non-major who struggles with coding tests, this lecture, taught by a non-major, will help you understand them more easily. Thank you! :)

A great lecture to watch together 📺


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

💾 Please check before taking the class

  • You can use any OS or IDE for your practice environment. I'm writing code using VS Code on Windows 11.
  • However, if you prepare an environment in advance where you can write code and build/debug, you can take the lectures with ease.
  • We provide the PPT used in the lecture in PDF format.
  • This lecture assumes a basic understanding of Python syntax . Those with experience with DFS will find it easier, but for those unfamiliar with DFS, we've included a brief explanation, so don't worry!

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 using Python

Need to know before starting?

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

Hello
This is

565

Learners

53

Reviews

75

Answers

5.0

Rating

2

Courses

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

Curriculum

All

19 lectures ∙ (3hr 59min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

14 reviews

5.0

14 reviews

  • dydwls21251069님의 프로필 이미지
    dydwls21251069

    Reviews 1

    Average Rating 5.0

    5

    68% enrolled

    • limeorange님의 프로필 이미지
      limeorange

      Reviews 2

      Average Rating 5.0

      5

      100% enrolled

      この講義のおかげで、DFS の概念を明確に理解することができました。これまで一人で勉強してきた時間が脳裏をよぎるにつれ、最初からこんなに素晴らしい先生に導いてもらっていたら、もっと効率的に勉強できたのではないかという残念さと、今になってきちんと学べて感謝している気持ちが入り混じった、本当に貴重な講義です。講義を段階的に簡単に伝えてくれるだけでも、相当な能力者だと思いますが、多忙なスケジュールだと思います。それでも、他のアルゴリズムの概念と詳細な講義を早く作ってほしいです!! 待ちきれません😊😊^_😭 貴重な時間を割いて質の高い講義を作ってくださり、改めて感謝します~~!!

      • gaebaljob
        Instructor

        sapienslee様、このような素晴らしい受講レビューを書いてくださり、ありがとうございます!より良い講義を作れるよう、たくさん努力いたします😊 ありがとうございます!

    • busanpsy1255님의 프로필 이미지
      busanpsy1255

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      質の高い講義です。DFS タイプのアクセス方法がようやく明確に見えてきました。完璧に自分のものにするために復習してみます。次の講義が本当に楽しみです。

      • gaebaljob
        Instructor

        jobababa さん、最高の受講評価ありがとうございます! :)

    • cgh7165399님의 프로필 이미지
      cgh7165399

      Reviews 1

      Average Rating 5.0

      5

      84% enrolled

      • gaebaljob
        Instructor

        チョン・グホさんの受講評価ありがとうございます! :)

    • wnstjd27548253님의 프로필 이미지
      wnstjd27548253

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      ペクジュンでブロンズ難易度の実装問題だけ解くが、シルバー問題に挑戦しようとすると、アルゴリズムを学ばないと手もできなかったようです。問題を解く方はわかりますが、私が完全に理解していなければ、絶対に私のものにすることができます。そうではありませんでした。 . ありがとうございます。 何かもっと望むものがあれば、ゴールドレベルまで問題を扱ってくれてもよかったと思います。人には少しの物足りなさで近づくことができるようです。おかげで、DFS感をつかんでとても良いです。

      • gaebaljob
        Instructor

        준성님 안녕하세요 :) 이렇게 진심을 담아 수강평을 남겨주셔서 감사합니다. 비슷한 문제가 많다는 부분은 사실 고려하지 못했던 부분이라 조금 더 고민해보고 문제를 추가하거나 골드 문제들을 따로 묶어서 진행해볼게요. 다음에 더 좋은 강의로 찾아 뵙겠습니다!

    Limited time deal

    $2,175.00

    23%

    $18.70

    gaebaljob's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!