- 現어비스 대표 및 리드개발자
- 前 네이버 개발자
- 5년차 알고리즘 강사(네이버 / 카카오 / 라인 / 삼성 코딩테스트합격자 배출)
- 19, 20 IT 대기업 코딩테스트 합격자(All Solved)
- 2024 Meta HackerCup 알고리즘 대회 R1 상위 12%
- 자바스크립트 테스트 프레임워크 Mocha.js contributor
- 저서 《 면접을 위한 CS전공지식노트 》 2022 / 국내IT도서 1위 베스트 셀러
- 저서 《 실시간 모니터링 시스템을 만들면서 정복하는 MEVN》 2021 / 국내IT도서 63위 베스트셀러
講義
受講レビュー
- CS知識の正典 | デザインパターン ネットワーク オペレーティングシステム データベース データ構造
- CS知識の正典 | デザインパターン ネットワーク オペレーティングシステム データベース データ構造
- 10週間完成 C++ コーディングテスト | アルゴリズムコーディングテスト
- CS知識の正典 | デザインパターン ネットワーク オペレーティングシステム データベース データ構造
- CS知識の正典 | デザインパターン ネットワーク オペレーティングシステム データベース データ構造
投稿
- Q&A - 백트래킹 질문있습니다. - 안녕하세요 ㅎㅎ예전에 백트래킹에 대해서 공부한 기억이 있는데, 강사님께서 말씀하시는 원상복구를 백트래킹이라고 이해하고 있었습니다.-> 사실 이게 정의가 2가지로 쓰이고 있습니다. 수강생님이 말씀하신 원상복구를 백트래킹이라고 하는 것도 있고 가지치기를 포함한게 백트래킹이라고 한 것도 있습니다. 이 부분은 영어 -> 한국말로 바꾸는 부분에서 나타난 차이라고 보시면 됩니다. 백트래킹을 영어로 설명하는 강의를 보면recursive backtraking, recursive backtracking with optimization 이렇게 두가지로 나눠지는데요. 전자의 경우 우리나라 워딩으로 완전탐색이라는 말로 쓰이고 있기 때문에 그걸 구분하기 위해서 저는 백트래킹 = 가지치기 + 완탐으로 구분지어서 설명드리고 있습니다. 좀 더 정확히는 recursive backtracking with optimization은 DP로 최적화, 가지치기로 최적화, 비트마스킹으로 최적화 이렇게 세분화해서 설명을 하는 영어 강의가 있는데 이를 한국말로 구분지어서 설명하기 위해 DP로 최적 -> DP재귀적 탐색, 비트마스킹 -> 비트마스킹 + DP로 설명을 드리고 있습니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 1
- 12
 
- Q&A - 삼성 싸피 (난이도 실버수준) 준비하려면 3주차까지면 충분할까요? - 안녕하셍쵸 ㅎㅎ추후에 단톡방 열어드리겠습니다. 아마 유투브로 공지드릴 예정입니다. 음 4 ~ 5 주차까지는 해야 안전합니다. 감사합니다. - 0
- 1
- 15
 
- Q&A - 3-B 2589 왜틀렸는지 모르겠습니다. - 아 ㅎㅎ 스스로 구하셨군요 ㅎㅎ감사합니다. 담부턴 좀 더 빠르게 답변을.. 하겠습니다 ㅎㅎ - 0
- 3
- 20
 
- Q&A - 84.2-P 코드 관련 질문 - 안녕하세요 ㅎㅎ너무 잘하셨네요. 벽후보 리스트 combi로 정리 -> 해당 경우의 수에 대해서 원복이나 바이러스 퍼지는 것 모두 잘하셨습니다. 필요한 부분을 중복 체크하는-> 없습니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 1
- 23
 
- Q&A - 2-C 질문입니다. - 안녕하세요 ㅎㅎ0주차 질문하는 방법 보시구 코드 공유 부탁드립니다. (사진) 안뜹니다 ㅠㅠ - 0
- 1
- 17
 
- Q&A - 컴파일 옵션에 -static-libgcc를 추가하는 이유 - 안녕하세요 ㅎㅎ해당 부분은 인턴님이 잘 설명해주셨는데요. Dev-C++은 내부적으로 MinGW(GCC 기반)를 사용하므로, 보통 C++ 프로그램을 컴파일하면,GCC는 libgcc_s.dll 이라는 동적 라이브러리(DLL)에 의존하는데 이 때문에 에러가 발생할 수 있습니다. 근데 이 옵션을 주면 GCC가 libgcc_s.dll을 링크하지 않고 그 안의 필요한 코드를 정적으로 실행 파일 안에 포함시킵니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 2
- 24
 
- Q&A - 2-S 1325 작성한 코드 왜 틀렸는지 모르겠습니다. - 안녕하세요 ㅎㅎ혹시 edgeSet 부분은 왜 있는지 알 수 있을까요? 해당 부분은 제거 되어야 합니다. 신뢰가 양방향이어도 두 간선 모두 살아 있어야 하고 해당 간선에 해당하는 경우의 수 또한 계산해야 합니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 2
- 26
 
- Q&A - 7-C 질문 드립니다. - 안녕하세요 ㅎㅎ먼저 모든 경우의 수 중 가장 최고치를 찾습니다. 먼저 도착했다고 해서 최고일 수는 없습니다. 예를 들어 a -> b -> c 보다 a -> d -> e -> c가 더 최대겠죠. check[y][x] = 1; int value = (int)b[y][x] - '0'; for(int i = 0; i 이미 도착했지만, 여러 곳을 순회하면서 방문할 수 있는 경우가 있다면 ,이때 해당 memo 는 갱신되어야 하는 게 아닌가요??네 맞습니다. 저 코드가 의미하는게 바로 그겁니다. 지금 제가 a -> {b, c} -> ...로 간다고 했을 때a -> b -> d 로 가는게 있고 a -> c -> e -> d 로 가는 경우의 수가 있을 겁니다. 이 때 ret은 그 경우의 수 중 가장 max값이 담기게 되는 것입니다. 현재 갈 수 있는 방향으로 파생된 경우의 수중 max값이 down()함수에 쌓여서 + 1이 되서 최종 ret이 됩니다. 아니면 빨간색 코드에서 이미 여러 경우의 수를 확인했다는 것을 증명하는 것인가요? -> 정확히는 제가 드린 앞의 코드입니다. 현재로서 갈 수 있는 모든 경우의 수중 최대값이라는 의미입니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 4
- 18
 
- Q&A - 7-C 질문 드립니다. - 안녕하세요 ㅎㅎ먼저 모든 경우의 수 중 가장 최고치를 찾습니다. 먼저 도착했다고 해서 최고일 수는 없습니다. 예를 들어 a -> b -> c 보다 a -> d -> e -> c가 더 최대겠죠. check[y][x] = 1; int value = (int)b[y][x] - '0'; for(int i = 0; i 이미 도착했지만, 여러 곳을 순회하면서 방문할 수 있는 경우가 있다면 ,이때 해당 memo 는 갱신되어야 하는 게 아닌가요??네 맞습니다. 저 코드가 의미하는게 바로 그겁니다. 지금 제가 a -> {b, c} -> ...로 간다고 했을 때a -> b -> d 로 가는게 있고 a -> c -> e -> d 로 가는 경우의 수가 있을 겁니다. 이 때 ret은 그 경우의 수 중 가장 max값이 담기게 되는 것입니다. 현재 갈 수 있는 방향으로 파생된 경우의 수중 max값이 down()함수에 쌓여서 + 1이 되서 최종 ret이 됩니다. 아니면 빨간색 코드에서 이미 여러 경우의 수를 확인했다는 것을 증명하는 것인가요? -> 정확히는 제가 드린 앞의 코드입니다. 현재로서 갈 수 있는 모든 경우의 수중 최대값이라는 의미입니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 4
- 18
 
- Q&A - 헤더 압축부분 질문드립니다 - 안녕하세요 recon님ㅎㅎ 예시로 드신 이미지에는 동일헤더가 포함되어있는데 그럼 헤더중복을 제거되지 않은것으로 보이는데 맞을까요?-> 아닙니다. 저렇게 보여도 네트워크 프로토콜을 보시면 (사진)앞의 그림처럼 http2를 사용하는 것을 알 수 있습니다. 때문에 헤더 중복을 처리했다고 보시면 됩니다. 자세히는 다음과 같습니다. HTTP/2 계층에서 HPACK으로 헤저를 압축 → 네트워크 전송 이후 클라이언트가 브라우저로 컨텐츠를 수신할 때 HPACK 디코딩 → 각각의 컨텐츠가 원래의 헤더로 복원 → 브라우저에 전달이 때문에 개발자 도구(Network 탭) 에서는 여전히 “모든 헤더가 다 있는 것처럼” 보이는 것입니다. 참고로 HTTP/2는 여러 요청을 하나로 합쳐서 보내는 게 아닙니다. 대신 각 요청의 헤더를 인덱스 기반으로 압축해서 전송합니다. (즉, 헤더의 중복을 제거하지, 요청 자체를 합치는 것은 아닙니다. )예를 들어, 5개의 요청이 있고 모두 cookie: session=kundol 를 포함한다면: 첫 요청에서는 실제 문자열 "cookie: session=kundol" 전송 이후 4개의 요청은 “이전 헤더 테이블의 #7번 참조”처럼 단 1바이트로 전송해서 처리를 합니다. 또 질문 있으시면 언제든지 질문 부탁드립니다.좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)감사합니다.강사 큰돌 올림. - 0
- 2
- 20
 






