- 115
- 57 875
개발자영맨(bluedawnstar)
South Korea
Приєднався 17 жов 2019
[String] String searching #2 - Rabin-Karp algorithm
문자열 검색의 또 다른 방법인 Rabin-Karp 알고리즘에 대해서 알아봅니다.
Rabin-Karp 알고리즘에서는 문자열 검색 자체보다 여기에 사용하는 rolling hash 기법이 더 중요합니다.
00:00 Rabin-Karp 알고리즘 소개
00:39 rolling hash
05:33 Rabin-Karp 알고리즘 구현
10:10 관련 문제 #1
17:07 관련 문제 #2
21:38 마무리
Rabin-Karp 알고리즘에서는 문자열 검색 자체보다 여기에 사용하는 rolling hash 기법이 더 중요합니다.
00:00 Rabin-Karp 알고리즘 소개
00:39 rolling hash
05:33 Rabin-Karp 알고리즘 구현
10:10 관련 문제 #1
17:07 관련 문제 #2
21:38 마무리
Переглядів: 393
Відео
[개발 팁] 주석 토클링, 들어 봤나요?
Переглядів 172Рік тому
재밌는 주석 토글링(comment toggling)이라는 기법을 소개해드립니다. 00:00 소개 00:17 C/C 전처리기 00:57 주석 토글링 소개 02:28 python에서의 주석 토글링 02:58 마무리
[String] String searching #1 - prefix function & KMP (재녹음)
Переглядів 294Рік тому
String searching(또는 string matching) 알고리즘 중에서 가장 유명한 KMP 알고리즘과 그 핵심인 prefix function에 대해서 알아봅니다. 이전에 올렸던 내용에 듣기에 불편한 부분들이 많아서 재녹음해서 올립니다. source : github.com/bluedawnstar/youtube/tree/master/algorithm_datastructure 00:00 문자열 검색 소개 01:24 naive method 03:28 문자열 검색과정 분석 08:32 prefix function 소개 12:12 prefix function을 이용한 검색 14:03 prefix function 코드 분석 21:05 prefix function & KMP 코드 25:24 time comp...
알고리즘, 어떻게 공부할 것인가? - 2탄
Переглядів 1,9 тис.Рік тому
알고리즘 공부를 재밌고 효율적으로 하는 방법과 책 소개를 해드립니다. 이번에도 그냥 저의 생각일 뿐이니 하나의 의견으로 봐주시면 됩니다.
[Algorithm] dynamic programming #5 - 격자에서의 경로 - 번외 문제(Part 3)
Переглядів 163Рік тому
격자에서의 경로 문제가 어디까지 어려워질 수 있는지 알아봅니다. 00:00 문제 소개 04:13 풀이 설명 08:53 시간복잡도 09:18 마무리
[Algorithm] dynamic programming #5 - 격자에서의 경로 - Part 2
Переглядів 137Рік тому
Part 1에서 이어지는 내용으로, '격자에서의 경로 문제'의 중요한 유사문제를 풀어봅니다. 00:00 유사문제 #2 (중요) 05:33 유사문제 #3 (중요) 16:36 내용 요약/정리 18:02 마무리 및 다음 예고
[Algorithm] dynamic programming #5 - 격자에서의 경로 - Part 1
Переглядів 202Рік тому
코딩 인터뷰 단골 문제였던 격자에서의 경로 문제를 알아봅니다. 00:00 격자에서의 경로 수 세기 08:19 장애물이 있는 경로 수 세기 10:00 최소 비용 경로 찾기 12:09 유사문제 #1
알고리즘, 어떻게 공부할 것인가?
Переглядів 3,5 тис.Рік тому
오늘은 공부 말고 공부하는 방법에 대해서 얘기합니다. 그냥 저의 생각일 뿐이니 하나의 의견으로 봐주시면 됩니다. 그리고 내용에 나오는 github repo는 이곳입니다. github.com/bluedawnstar/algorithm_study/tree/master/library
[Algorithm] dynamic programming #4 - Knapsack Problem - Part 3
Переглядів 355Рік тому
이번에는 bounded knapsack problem에 대해서 알아봅니다. 00:00 bounded knapsack 소개 00:44 문제와 기본 솔루션 03:02 솔루션 최적화 11:07 최종 코드 설명 12:11 마무리 12:35 다음편 예고
[Algorithm] dynamic programming #4 - Knapsack Problem - Part 2
Переглядів 252Рік тому
이번에는 unbounded knapsack problem에 대해서 알아봅니다. 00:00 unbounded knapsack 소개 00:57 unbounded knapsack 코드 설명 03:15 순서에 상관없는 조합의 수 08:09 순서까지 고려한 조합의 수 12:01 조합의 수 세기에 대한 정리 12:54 다음편 예고
[Algorithm] dynamic programming #4 - Knapsack Problem - Part 1
Переглядів 418Рік тому
이번에는 dynamic programming에서 중요한 알고리즘 중 하나인 knapsack problem에 대해서 알아봅니다. 00:00 knapsack problem 소개 00:51 knapsack problem 종류 01:52 0-1 knapsack 소개 02:35 0-1 knapsack의 optimal substructure 06:29 0-1 knapsack 문제 예제 ("평범한 배낭") 06:40 0-1 knapsack 기본 솔루션1 09:35 0-1 knapsack 기본 솔루션2 11:41 0-1 knapsack 메모리 최적화 솔루션1 13:07 0-1 knapsack 메모리 최적화 솔루션2 13:43 0-1 knapsack에서 weight가 매우 큰 경우
[Algorithm] dynamic programming #3 - Maximum Subarray Problem
Переглядів 306Рік тому
이번에는 dynamic programming에서 중요한 알고리즘 중 하나인 maximum subarray problem에 대해서 알아봅니다. 00:00 maximum subarray 문제 소개 00:59 분할정복(divide-and-conquer) 방법 04:47 Kadane's algorithm 07:45 유사문제1 08:27 유사문제2 09:35 Sliding window 문제와는 어떻게 구분하는가? 11:21 2D에 Kadane's algorithm 적용 13:56 2D에 prefix sum 방법 적용 18:00 요약 18:25 다음편 예고 및 마무리
[Algorithm] dynamic programming #2 - Fibonacci 계열 문제
Переглядів 237Рік тому
Dynamic programming 문제들 중 Fibonacci 계열 문제들을 풀어봅니다. 00:00 Climbing stairs 06:28 Min cost climbing stairs 08:08 House robber 14:39 Delete and earn 15:17 다음편 예고
[Algorithm] dynamic programming #1 - introduction
Переглядів 472Рік тому
[Algorithm] dynamic programming #1 - introduction
[Heap] 이진 힙(binary heap) #3 - 어디에/어떻게 사용하는가?
Переглядів 442Рік тому
[Heap] 이진 힙(binary heap) #3 - 어디에/어떻게 사용하는가?
[Heap] 이진 힙(binary heap) #2 - 힙 만들기(heapify)
Переглядів 3332 роки тому
[Heap] 이진 힙(binary heap) #2 - 힙 만들기(heapify)
[Heap] 이진 힙(binary heap) #1 - push, pop
Переглядів 3382 роки тому
[Heap] 이진 힙(binary heap) #1 - push, pop
[Sorting] quicksort #3 - 3-way partitioning
Переглядів 3482 роки тому
[Sorting] quicksort #3 - 3-way partitioning
[Sorting] quicksort #2 - Hoare partition, pivot selection
Переглядів 5232 роки тому
[Sorting] quicksort #2 - Hoare partition, pivot selection
[Sorting] quicksort #1 - introduction + Lomuto partition scheme
Переглядів 3832 роки тому
[Sorting] quicksort #1 - introduction Lomuto partition scheme
[Data Structure] merge sort tree #2 - 2D
Переглядів 1602 роки тому
[Data Structure] merge sort tree #2 - 2D
자세한 설명 감사합니다
와 진짜 감사합니다.. 세그먼트 트리 대충 설명 봤을때는 알겠는데 자세히를 모르겠어서 막 찾아보다 봤는데 정말 잘 설명하시네요
감사합니다. 너무 쉽게 이해했습니다 😄
직관적으로 이해했습니다. 감사합니다.
좋은 강의 감사합니다 👍
감사합니다 형님
10:12 SUM((X0,Y0) - (X1, Y1)} 은 행, 열의 좌표가 바뀐거 아닌가요 ? 행을 Y0,Y1로 표기했고 열을 X0,X1로 표기한것 같은데.. 그럼 SUM도 (Y0,X0) - (Y1, X1) 이렇게 되어야 하지 않나요....
혹시 '순서까지 고려한 조합의 수'에 해당하는 백준 문제가 있을까요?
if (j == pattern.length - 1) { res.add(i - pattern.length + 1); // text[i] is equal pattern[j], so we don't need to check previous characters of pi[j]. j = pi[j]; } 이 부분이 진짜 이해가 안됐는데 abcba 예시 덕분에 확 이해됐어요 넘 감사합니다.
Z algorithm 기다리겠습니다ㅎㅎ 감사합니다.
16:50 문제 풀이 보기 전에 코드를 혼자 짜보고 있었는데 저도 저기서 막히더라구요. 해쉬충돌이 가능성이 있으니까 hash가 같았을때 isEquals if부분이 false일 때 else 코드를 어떻게 짜야할지ㄷㄷ 그래서 그냥 영맨님 코드 봐야겠다하고 봤는데 else부분이 아예 없어서 놀랐어요ㅋㅋ hash 충돌 났을때 해결방법 두개 떠올려보면 Open addressing은 좀 구현하기 귀찮을 거 같고,,, Separate chaining 써서 map value부분을 Int(start index of substring)가 아니라 List로 하면 될거같아요. 생각만 해보고... 찐코드는 흠... 테스트케이스는 통과햇으니까 하하하하
감사합니당~~
이렇게 까지 테이블로 일목요연하게 정리해논 영상이 해외 거 포함해서 진짜 없는 것 같은데 세계 유일무이 자료구조 강의가 한국에 있다니ㄷㄷㄷㄷㄷㄷㄷㄷ 하 인도가 영어 공용어여서 그 쪽 영상이 대세인게 안타까울 정도. 넘 감사합니다.
감사합니다. 해외 유튜버가 올린 알고리즘 영상을 보는데 오로지 minimum, maximum 관련 얘기만 해서 답답했었는데 그런게 해소됐습니다ㅎㅎ
좋은 강의 감사합니다
이야 문제풀다 남이 쓴 코드가 이해안되었는데 깔끔하게 이해됐습니다 감사해여 강의 퀄리티가 훌륭합니다 ㄷㄷ
안녕하세요 백준 11660 하다가 모르는 부분 찾다가 영상을 시청하게 됐는데 도움이 되었습니다 감사합니다.
추천 구독을 누르지 않을 수 없었다 goat
열정적인 강의 감사합니다!!
오늘도 감사합니다 😀
복습하러 왔습니다 👍
백준13544 문제는 endl vs. 성능 차이를 알려주시지 않았으면 시간만 소모하고 못 풀었을 것 같습니다. 감사합니다 😄
1일 1강 😄 연습문제 추천해 주실 수 있을까요?
09:58 좋은 강의 너무 감사합니다. toAux 가 true 일 때에 Insertion Sort 를 Outplace 로 수행하는 방법(예: std::copy 로 복사 후 소팅)이 있을까요? 혹은 shifting 없이 Selection Sort 를 수행하는게 더 좋을까요?
명강의 감사합니다!
항상 단순 알고리즘 설명 그 이상을 해주셔서 감사할 따름입니다.
준비운동 잘 했습니다 ^^
좋은 강의 감사합니다!
좋은 강의 감사합니다. 저에게는 Sliding Window 문제가 특히 어렵게 느껴지네요 😢
진짜 최고의 강의!!!!!!!!!!! 블로그보고 공부하다가 이해안돼서 좌절했는데 이거 영상보고 바로 100% 이해완료!!!!!
강의 정말 좋습니다. 주변 사람들이 segment tree에 대해 고민하고 있다면 당장 틀어서 보여주고 싶네요. sum일 때만 고려하지 않고 general한 상황에서도 사용할 수 있게 코드 설명해주시는 것도 도움 많이 됐습니다. 강의력이 정말 좋으신 것 같습니다. 감사합니다!
비전공자로 공부중입니다,, 자바 언어 막 1회독 했는데 좋은 영상을 찾았네요 이제 자료구조 들어가야하는데 막막했었는데 알고리즘 트레이닝 책 빠르게 봐보겠습니다 솔직히 알고리즘이 심리적인 진입장벽이 높은거 같아요...ㅋㅋㅋ두려움이 든다고 해야하나 대회 신청 꿀팁도 감사합니다
해당 도서 완독 후에 바로 알고리즘 문제풀어보면서 부족한 개념을 따로 찾아보고 그러면서 공부하는게 맞지요?? 추천해주신 알고리즘 트레이닝 도서는 큰그림 그리는 용도이고.. 또 씨플플로 되어있더라고요 자바 분들 참고하세요~~예제는 눈치껏 자바로 바꿔봐야겠네요..ㅎㅎ
오늘도 잘 듣고 갑니다 😊
좋은 강의 감사합니다!😀
감사합니다 👍
영맨님 강의 잘 보고 있습니다. Segment Tree 관련 문제 유형 공부 중에 영상 찾아보게 되었고 많은 도움 받았습니다. Range Sum에 대해 1D array 부터 여러가지 유형 다뤄주셔서 감사합니다. 혹시 공부한 내용에 대해 출처를 밝히고 Velog에 작성해도 될까요?
좋게 봐주셔서 감사합니다. 출처만 밝혀주신다면 얼마든지 가능합니다. ^^
답변 감사합니다! 내용 공유도 허락해주셔서 감사합니다~! 좋은 영상 만들어주셔서 감사합니다!
좋은 강의 감사합니다 😃
감사합니다 👍👍👍
좋은 강의 감사합니다. 덕분에 알고리즘에 큰 재미를 느끼고 있습니다 😄
Binary Search 로 어떻게 풀지 감이 안잡혔는데, 아디어가 대단하네요 👍
최고의 강의2
강의 대박입니다 ❤
알고리즘 관련해서 질문이 있습니다 저는 플러터 개발자가 목표라 현재 다트를 사용해서 코테와 알고리즘 지료구조를 공부하고 있습니다. 제 공부방법은 리트코드 문제를 풀고 이 후에 관련된 알고리즘과 자료구조를 유튜브나 구글링을 통해서 해결하고 있는데 이런 공부법도 괜탆나요
좋은 방법 중 하나라고 생각합니다. 저도 그런 방법으로 공부했었구요. 그렇게 하시다가 적당한 책을 한 권 사셔서 책에서도 관련 내용들을 찾아보시는 것을 추천드려요. 그래야 전체 영역 중 어느 정도를 공부했는지 알 수 있을 것 같습니다.
연휴 잘 보내세요 알고리즘 입문자용 영상도 보고싶어요
좋은 강의 감사합니다 😄
훌륭한 강의 감사합니다^^❤
👍👍👍👍👍
좋은 강의 감사합니다.
너무 잘 보고 있습니다 😊