그리디 탐욕 Greedy 알고리즘 설명 7분만에 이해하기

Тәжірибелік нұсқаулар және стиль

많은 분들을 어렵게 하는 그리디 알고리즘을 준비해봤습니다(건우박님, 롱스톤님 댓글 참고하여 만들었어요. 감사합니다!).
그리디 알고리즘이란 무엇이고, 어떤 조건이 보장되었을 때 풀 수 있고, 어떻게 푸는 것이 좋을지, 마지막으로 추천 문제 15개를 준비했습니다.
7분이라는 시간이 길 수 있지만, 그리디라는 개념을 제대로 잡을 수 있다면 충분히 도움이 될 것입니다.
영상 보시면서 궁금하신 점은 언제든지 댓글로 남겨주세요!
감사합니다:)
#그리디 #Greedy #알고리즘 #코딩테스트 #탐욕

Пікірлер: 71

  • @user-fq6bx4ec9p
    @user-fq6bx4ec9p Жыл бұрын

    간결하고 정리가 잘 되어있고 음성도 듣기 편해서 좋아요

  • @gaebal

    @gaebal

    Жыл бұрын

    좋은 댓글 감사합니다 :) 더 좋은 영상 많이 올릴게요!

  • @cj5314
    @cj5314 Жыл бұрын

    코딩테스트 준비하고 있는데 감사합니다 문제 추천 너무 좋은거 같아요!

  • @gaebal

    @gaebal

    Жыл бұрын

    네 앞으로도 문제 추천 많이 드릴게요!! 좋은 댓글 감사합니다~ :)

  • @gongjunyeol
    @gongjunyeolАй бұрын

    복습겸 봤는데 정리가 잘 되어있는 것 같아요. 부분 최적해가 전체 최적해가 되기 때문에 정렬이 중요한 알고리즘

  • @gaebal

    @gaebal

    Ай бұрын

    크 한줄로 깔끔하게 정리해주셨네요!! 도움 되셨다니 다행이에요 :)

  • @suneunkim791
    @suneunkim7913 ай бұрын

    깔끔한 정리 너무 좋습니다!! 간략하게 알고리즘의 개념을 짚고 갈 수 있어서 너무 좋아요~~🥰

  • @gaebal

    @gaebal

    3 ай бұрын

    도움 되셨다니 다행입니다~~ 좋은 강의 많이 올릴게요!

  • @sidsisldkd
    @sidsisldkd Жыл бұрын

    좋은 설명 감사합니다 ~ 다른것도 기대가 됩니당🤩

  • @gaebal

    @gaebal

    Жыл бұрын

    KN B님 좋은 댓글 감사합니다 :) 더 좋은 영상 많이 올릴게요!

  • @sanchres-xb6fi
    @sanchres-xb6fi7 ай бұрын

    그리디알고리즘 한 번에 이해되고 백준까지 추천해주니 인풋아웃풋 다 되도록 알려주니 좋아요

  • @gaebal

    @gaebal

    7 ай бұрын

    도움되셔서 다행이에요 ㅎㅎ 더 좋은 영상 많이 올릴게요!

  • @user-lr9wo1wc5j
    @user-lr9wo1wc5j5 ай бұрын

    개념을 다른데서 배우고 알고나서 강의를 들으니 얼마나 훌룡한 강의인지 알겠습니다 핵심만 정확하게 설명하시네요 좋은강의 감사합니다

  • @gaebal

    @gaebal

    4 ай бұрын

    감사합니다!:)

  • @user-uc9qm6rs7o
    @user-uc9qm6rs7o Жыл бұрын

    이직 준비 때문에 오랜만에 들렀습니다 ㅎㅎ 좋은 영상 매번 감사드립니다!

  • @gaebal

    @gaebal

    Жыл бұрын

    비타민님 오랜만이에요 잘 지내셨죠? ㅎㅎ 이직 준비 화이팅하세요!

  • @2400won
    @2400won2 ай бұрын

    듣는 강의가 너무 깊고 부분적으로만 이해가 돼서 이게 무슨 소리인가 했는데, 선생님 덕분에 전체적인 틀이 잡히고 기존 강의가 무슨 뜻이었는지 이해가 되었습니다. 강의 들으면서 웃음이 나온 것은 처음이었습니다. 정말 너무 감사합니다. 계속 정진하겠습니다.

  • @gaebal

    @gaebal

    2 ай бұрын

    웃음이 나오셨다니... 늦은 밤에 댓글 확인하는데 큰 힘이 되네요. 저도 좋은 강의 들을 때 느끼는 만족이 있는데 비슷한 감정이었겠죠? 무튼 좋은 댓글로 힘주셔서 감사하고 저도 더 좋은 강의로 보답하겠습니다!

  • @Asap446
    @Asap446 Жыл бұрын

    오늘도 영상 감사합니다 DP랑 비슷해서 헷갈리는군요

  • @gaebal

    @gaebal

    Жыл бұрын

    맞아요 쉽지 않은 유형이에요 ㅠㅠ 그래도 끝까지 화이팅입니다!

  • @raya6697
    @raya6697 Жыл бұрын

    좋은 설명 감사합니다. 😆😆

  • @gaebal

    @gaebal

    Жыл бұрын

    네 감사합니다! 더 좋은 영상들 많이 준비하겠습니다 :)

  • @mggdungE
    @mggdungE Жыл бұрын

    알고리즘 관련 영상들 정독하고 있습니다만 해당 영상처럼 다른 영상에서도 해당 알고리즘을 연습해볼만한 문제들을 추천해주시면 정말 좋을것 같아요!!!

  • @gaebal

    @gaebal

    Жыл бұрын

    네 제가 요즘 개인적으로 바빠서 계속 못 올리고 있었는데 등급별 문제 추천도 한번 정리해서 공유드릴게요!! 댓글 감사합니다 :)

  • @TheZara71
    @TheZara714 ай бұрын

    내용 잘 보고, 듣고 갑니다!

  • @gaebal

    @gaebal

    3 ай бұрын

    좋은 댓글 감사합니다:) 더 좋은 영상 얼른 올릴게요!

  • @user-co2mw5ue5d
    @user-co2mw5ue5d4 ай бұрын

    활동해주셔서 너무 감사합니다.

  • @gaebal

    @gaebal

    3 ай бұрын

    최고의 칭찬이네요 ㅎㅎ 더욱 열심히 활동하겠습니다!

  • @user-ij6zd7sf5p
    @user-ij6zd7sf5p Жыл бұрын

    대박입니다.

  • @gaebal

    @gaebal

    Жыл бұрын

    감사합니다! :) 좋은 풀이 많이 만들어서 올릴게요

  • @user-ue6el9oc4k
    @user-ue6el9oc4k3 ай бұрын

    바로 구독박습니다 짱 도움되요

  • @gaebal

    @gaebal

    3 ай бұрын

    감사합니다!! 더 도움 되는 영상과 강의들 얼른 올릴게요 :)

  • @hurari09
    @hurari09 Жыл бұрын

    선생님 혹시 dp, 그리디부터 공부하는게 좋을까요 dfs, bfs부터 공부하는게 좋을까요? 그리고 항상 좋은 설명 감사합니다

  • @gaebal

    @gaebal

    Жыл бұрын

    김도현님 안녕하세요 :) 저는 dfs/bfs를 먼저 하라고 추천드릴 것 같아요. DP는 워낙 어려운 유형이라서 이해하기 쉽지 않기도 하고요, 그리디는 수학적인 감각이 좋은 사람은 쉽게 풀지만 그렇지 않은 사람에게는 정말 어려운 유형인 것 같아요 (그만큼 노력한다고 실력이 확 느는 것 같지도 않고요) 그에 비해 DFS/BFS는 유형이 딱 정해져있어서 공부하기도 쉽고, 한번 감만 잡으면 대부분 문제들이 비슷한 원리라 좋은 것 같아요 (그래서 문제로도 많이 출제되는 것 같고요)

  • @user-iw4kl5sz2k
    @user-iw4kl5sz2k9 ай бұрын

    다른 알고리즘들도 백준 등급별 추천 문제 영상도 올려주실 수 있나요?! 이 영상 보고 등급별로 문제푸는데 너무 유익해요!!

  • @gaebal

    @gaebal

    9 ай бұрын

    네! 조만간 한번 싹 정리해볼게요 ㅎㅎ 제가 요즘 이것저것 개인 사정들이 많이 생겨서 영상 업로드가 늦어지고 있는데 얼른 올리겠습니다! 감사합니다 :)

  • @user-iw4kl5sz2k

    @user-iw4kl5sz2k

    9 ай бұрын

    @@gaebal 근데 제가 백준 실버3이라 그런지 이 영상보고 실버까지는 풀었는데 골드부터는 한시간이상 안 풀리더라고요ㅠㅠ 이럴 땐 어떻게 해야 하나요?😢

  • @gaebal

    @gaebal

    9 ай бұрын

    @@user-iw4kl5sz2k 그럴 땐 너무 오래 고민하시기 보다 짧게 고민하신 다음에 풀이를 보는 게 훨씬 빠르더라고요. 물론 내가 직접 푼 것 같지 않아서 찝찝한데요, 그렇게 못 푼 문제들은 따로 모아놓고 일주일 즈음 뒤에 다시 풀어보시는 걸 추천드려요! 그쯤에는 얼추 풀이는 기억나지만 코드가 다 기억나는 건 아니라 풀이를 구현해보는 연습으로 의미가 있을거에요! 자세한 내용은 제가 아래 영상에서도 다뤘어서 한번 봐보셔도 좋을 것 같아요 :) 오늘도 공부 화이팅하세요! kzread.info/dash/bejne/fnap0pSPfbmuiNo.html

  • @user-iw4kl5sz2k

    @user-iw4kl5sz2k

    9 ай бұрын

    @@gaebal 감사합니다! 얼른 알고리즘별 등급별 문제 추천영상 올라왔으면 좋겠네요! 기다리겠습니댜~~ :)

  • @ChangDae1993
    @ChangDae1993 Жыл бұрын

    감사합니다 감사합니다

  • @gaebal

    @gaebal

    Жыл бұрын

    네 좋은 댓글 감사합니다! :) 더 좋은 영상 많이 올릴게요.

  • @user-uu8lv7gz2g
    @user-uu8lv7gz2g6 ай бұрын

    안녕하세요. 좋은 영상 잘봤습니다. 덕분에 그리디 알고리즘이 쉽게 다가왔습니다. 혹시 위 영상의 내용을 정리하는 글을 블로그에 출처를 남기고 올려도 괜찮을까요?

  • @gaebal

    @gaebal

    6 ай бұрын

    재윤님 안녕하세요 :) 그럼요 이렇게 말씀이라도 해주시고 공유해주시면 너무 좋아요. 나중에 글 정리되시면 댓글에 링크 남겨주세요!

  • @cj5314
    @cj5314 Жыл бұрын

    안녕하세요 선생님 올려주시는 영상 항상 잘 보고 있습니다. 혹시 실례가 안된다면 문제 해설 요청해두 될까 해서 글 남깁니다. (자바 )백준 1181 단어 정렬 문제 부분에서 Arrays.sort 랑 comparable 같이 쓰는 부분이 이해하기어려워서 막혀 있습니다. 혹시 문제 해설 가능한가요 ?

  • @gaebal

    @gaebal

    Жыл бұрын

    ᅵcj님 안녕하세요 :) 제가 요즘 강의 영상 마무리한다고 유튜브에 풀이 영상을 못올리고 있어요 ㅠ 그래서 문제 해설을 적어두긴 할텐데 아마 원하시는 것만큼 빠르게 드리진 못할 것 같아요. 그래서 대신 글로라도 간단하게 정리를 해볼게요. [자바 정답 코드] import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); List words = new ArrayList(); int n = scanner.nextInt(); for (int i = 0; i String word = scanner.next(); if(!words.contains(word)) words.add(word); } words.sort(new Comparator() { @Override public int compare(String o1, String o2) { if(o1.length() == o2.length()) { return o1.compareTo(o2); } else { return o1.length() - o2.length(); } } }); words.forEach(word -> System.out.println(word)); scanner.close(); } } 기본적으로 Arrays.sort는 오름차순으로 정렬을 해주는 함수에요. 그리고 때에 따라서 이걸 응용해서 내림차순까지는 크게 어렵지 사용할 수 있는데, 그 외에 조건이 복잡해질 경우에는 Comparator라는 객체를 만들어서 전달해줄 수 있어요. 이렇게 하는 이유는, 기존의 단순한 오름차순/내림차순이 아닌 조금 더 복잡한 기준에 따라 정렬하고 싶을 때 사용하는 겁니다. 말씀하신 단어 정렬이라는 문제에서는 길이가 짧으면 무조건 앞으로 가고, 길이가 같은 것들 간에 알파벳 순서를 비교하기 때문에 Comparator가 필요한거죠. 그래서 위 예시에서는 words.sort()라는 함수에 인자로 new Comparator()을 전달해주고 있어요. 이 동작은 "words 라는 ArrayList를 정렬하기 위한 규칙을 Comparator라는 통/껍데기 안에 담아서 전달한다"라고 이해하시면 됩니다. 그러면 구체적으로 그 내부에 정의된 public int compare라는 함수는, Comparator 객체 내에 존재하는 함수인데 이를 Override(재정의)해주는 겁니다. 아직 class/객체라는 개념이 헷갈리신다면, Comparator 안에 내 마음대로 저장할 수 있는 compare라는 함수가 존재하고, 이걸 재정의 해서 words를 내 마음대로 정렬할 수 있다는 점만 기억하시면 됩니다. 이 함수는 "양수를 반환하면 o2가 더 앞쪽에 위치하도록 정렬하고, 음수를 반환하면 o1을 더 앞쪽에 위치하도록 정렬한다"라는 규칙이 있어요. 그래서 둘의 길이가 같을 때는 compareTo를 통해서 알파벳 순서상 앞에 오는 녀석을 앞으로 가도록 정렬해주고, 그렇지 않을 때는 둘의 길이를 비교해서 더 짧은 녀석이 앞으로 가도록 정렬해줍니다. 이미 설명이 너무 길어진 것 같아서 우선 이 정도에서 마무리를 하고, 더 자세한 내용은 영상으로 준비해볼게요 :)

  • @cj5314

    @cj5314

    Жыл бұрын

    @@gaebal 너무 감사합니다 ㅜㅜ 어떻게 보답이라도 해드리고싶네요 커피한잔이라도 너무 감동입니다

  • @gaebal

    @gaebal

    Жыл бұрын

    @@cj5314 아녜요 제가 얼른 영상을 올려드렸어야 하는데 지금은 드릴 수 있는게 이것 뿐이라... 그래도 도움되셨다니 다행이고 언제든 궁금한 점은 댓글로 남겨주세요. 아마 다들 궁금한데 질문하지 못한걸 ᅵcj님만 용기내서 물어보신 걸 거에요. 좋은 댓글/질문 감사합니다 :)

  • @_1_423
    @_1_423 Жыл бұрын

    선생님 덕분에 요즘 코테는 조금씩 통과합니다. 5월 강의는 자바 코테 강의를 개강하시나요?? 이전에 타 플랫폼에서 코테 강의 찍으신다고 본 거 같은데 파이썬 이었을까요? 자바 코테 강의 개강 기다리고 있습니다. (어디 플랫폼일까요?)

  • @gaebal

    @gaebal

    Жыл бұрын

    둥글리아님, 도움이 된다니 너무 다행입니다 :D 자바 DFS 강의부터 촬영했고, 그 다음에는 완전탐색으로 진행하려고 준비 중이에요! 우선 자바 위주로 강의를 한번 쭉 찍을까 하고 있어요. 플랫폼은 지금 생각하기로 인프런, class101, udemy 등 많이 사용하시는 곳에는 다 올려볼까 하고 있어요 (저도 처음이라 어디가 제일 인기가 많은지 잘 모르겠네요). 둥글리아님은 어느 플랫폼을 가장 선호하세요?

  • @_1_423

    @_1_423

    Жыл бұрын

    @@gaebal 인프런 > 프로그래머스 = 유데미 > 클래스 101 같습니다. 제 주변 선호도만 봐도 ㅎㅎ 강의는 코테 자바 강의 인가요? 결재 준비 완료!! 주변에 홍보 좀 해야겠습니다. 요즘 은행권, 금융 si 코테 보는데 이런쪽은 자바로 코테 제한해서 (오토에버도) 파이썬은 포화 상태라 자바 강의도 경쟁력 있다고 판단됩니다. (취준생 입장에서)

  • @gaebal

    @gaebal

    Жыл бұрын

    @@_1_423 오 그렇군요? 사실 저보다 취준생 분들이 시장을 더 잘 파악하고 계실텐데 좋은 소식이네요. 저는 그냥 제 구독자분들의 과반수가 자바 사용하셔서 자바로 시작해보려고요! 결국 해봐야 결과를 알 것 같아서 얼른 만들어볼게요 :)

  • @chotaegyu
    @chotaegyu Жыл бұрын

    👍

  • @gaebal

    @gaebal

    Жыл бұрын

    댓글 감사합니다! :)

  • @SZM767
    @SZM76710 ай бұрын

    이영상은 카테고리 어떤거사용하나요??

  • @gaebal

    @gaebal

    10 ай бұрын

    카테고리라는 게 어떤 것 말씀이세요?

  • @SZM767

    @SZM767

    10 ай бұрын

    @@gaebal 그 인물이나 엔터테이너 뭐이런거 욥

  • @ddddd-ep7bs
    @ddddd-ep7bs Жыл бұрын

    마지막에 문제들은 어디서 봐요?

  • @gaebal

    @gaebal

    Жыл бұрын

    ddddd님 안녕하세요 :) 마지막 문제들은 백준이라는 사이트에서 제공되는 문제들입니다! acmicpc.net 으로 접속하셔도 되고 구글에 백준이라고 검색하셔도 됩니다!

  • @yankeecanoa
    @yankeecanoa9 ай бұрын

    이.. 문제들은 어느 사이트에있는건가요??

  • @gaebal

    @gaebal

    9 ай бұрын

    백준입니다! acmicpc.net으로 들어가셔서 번호 검색하시면 문제가 바로 나올거에요 :)

  • @user-gt2it3ef2x
    @user-gt2it3ef2x Жыл бұрын

    개취님 덕분에 많이 배웠습니다!! 요즘은 어떻게 지내시나요?

  • @gaebal

    @gaebal

    Жыл бұрын

    삼남매의 하루님 오랜만이에요! :) 저는 DFS 강의 녹음을 마무리한다는 게 시간이 오래 걸려서 영상을 요즘 못 올렸네요 ㅎㅎ 그래도 녹음은 끝나서 지금 편집자분께서 열심히 편집 중입니다! 5월 내로는 강의 오픈할 수 있을 것 같아요. 그리고 잠시 영상을 멈춘 김에 다음 영상들도 고민 중인데, 저도 개인적으로 AI 관련해서 조금 더 이해하고 다들 이해하기 쉽게 영상을 만들어보려고 준비하고 있어요 ㅎㅎ 코딩테스트에 직접적인 도움이 될지는 미지수인데, 그래도 개발자라면 당연히 알아둬야할 부분들을 좀 정리해볼까봐요. 삼남매의 하루님은 잘 지내시나요? 요즘 어떠신가요?

  • @user-gt2it3ef2x

    @user-gt2it3ef2x

    Жыл бұрын

    @@gaebal 저는 아직도 취준 중입니다.. 갈피를 못잡는 중이네요ㅋㅋㅋㅋ 5월달에 강의 오픈하면 바로 구매하겠습니다! 개취님만큼 좋은 설명이 없어요!

  • @user-gt2it3ef2x

    @user-gt2it3ef2x

    Жыл бұрын

    @@gaebal 다음에 애청자들 팬 서비스 함 해주세용 ㅎㅎㅎ

  • @gaebal

    @gaebal

    Жыл бұрын

    @@user-gt2it3ef2x 바로 구매라니...ㅎㅎ 말씀만으로도 너무 감사합니다 ㅎㅎ 애청자/구독자 이벤트는 어떤게 좋을까요..? ㅎㅎ 그렇잖아도 이것 저것 고민하고 있었는데 어떤게 좋을까요? 저도 처음이라서요...ㅎㅎ

  • @user-gt2it3ef2x

    @user-gt2it3ef2x

    Жыл бұрын

    @@gaebal 고민 해보겠습니다 ㅎㅎㅎ

  • @user-dm9mk6ik9y
    @user-dm9mk6ik9y6 ай бұрын

    6:57 추천문제

  • @gaebal

    @gaebal

    6 ай бұрын

    감사합니다 :)

  • @nick6267
    @nick6267 Жыл бұрын

    개취님처럼 알고리즘 잘 하고싶다...

  • @gaebal

    @gaebal

    Жыл бұрын

    저도 잘 푸는 편은 아니라서 이 정도 수준은 시간만 투자하면 얼마든지... 도달할 수 있습니다 ㅎㅎ 새벽까지 달리고 계시군요 nic k님 :)

Келесі