소개
문과생도 이해하는 알고리즘 강의를 가르치는 강사 개발자로 취직하기입니다 :)
저는 문과생 출신으로 현재는 8년차 대기업 개발자입니다. 처음 코딩을 접하고 코딩 테스트 준비를 하던 막막한 시절을 떠올리며, 어떻게 하면 조금 더 쉽게 설명할 수 있을지, 저 같은 비전공자 문과생도 이해하고 새로운 기술을 습득할 수 있을지 고민하며 강의를 제작하고 있습니다.
유튜브 통해서도 무료 강의 진행하고 있으니 많은 관심 부탁 드립니다!
https://www.youtube.com/@gaebal
강의
전체2수강평
- 잘 들었습니다. 감사합니다.
endeavor
2024.07.02
1
게시글
질문&답변
2024.07.02
graph
네 맞습니다! 방문한 곳을 재방문하지 않도록 방지하는 visited와, 연결 정보를 가진 graph는 거의 매번 필요하다고 생각하시면 됩니다 🙂 MAX를 두는 건 문제의 최대 개수를 관리하기 위해서 정의합니다. 코드를 최대한 공식처럼 사용하실 수 있도록 MAX라는 변수를 두고, MAX 변수를 문제에서 제공하는 N + 10 으로 설정하시면 되도록 정의했습니다! 그래서 원하시다면 이 값은 필수가 아니라 원하는 값으로 바꾸셔도 됩니다.
- 1
- 1
- 50
질문&답변
2024.07.02
재귀 함수 Depth
SJ님 안녕하세요! 🙂 표에서 오른쪽으로 간다는 것은 재귀함수가 새로 호출 됐다는 의미로, 한 단계 더 깊이 들어간 것을 의미하고, 해당 칼럼에서 숫자가 순차적으로 나오는 건, 그 단계(그 함수 호출, 그 재귀 함수) 내에서 여러 숫자들을 방문하는 것을 의미합니다! 그래서 칼럼 2 마지막에 5(무시)를 적은 건, 1번에서 다음 재귀함수를 호출할 때 2번을 호출하고 나서 한바탕 다 검사하고 돌아오면, 아직 N번까지 확인하지 않았기 때문에 나머지를 확인해줘야 하고, 그 중 5번이 있어서 5번을 확인해보지만, 이미 방문했기 때문에 무시하고 넘어간다는 것을 이렇게 표기해봤습니다. 정리하자면, 꼭 제가 제안 드린 방식대로 정리를 할 필요는 없지만, 재귀함수가 다음 재귀함수를 또 호출할 때 어떤 숫자들을 순차적으로 확인하는지, 그리고 그때마다 다시 재귀함수가 호출되는지 아니면 무시되고 다음 숫자를 확인하는지를 완벽하게 이해할 수 있어야 합니다. 그래서 그림이나 표로 정리해보는 걸 추천드립니다!
- 1
- 1
- 53
질문&답변
2024.07.02
백준 DFS
SJ님 안녕하세요! 저는 프로그래머스, 백준, 엘리스 다 많이 사용하고 있고 다 좋은데, 백준이 알고리즘 분류별로 문제를 집중적으로 풀 수 있어서 알고리즘을 하나씩 도장깨기(?) 할 수 있어서 좋고요, 많은 분들이 백준을 사용하신다고 생각해서 백준으로 진행하고 있습니다! SJ님은 주로 다른 플랫폼을 활용하시나요? 자주 사용하시는 플랫폼이나 원하시는 플랫폼이 있다면 말씀해주세요!! 참고해서 다음 강의 제작 때 제작이 가능할지 검토해보겠습니다~
- 1
- 1
- 52
질문&답변
2024.06.28
graph를 2차원 배열 또는 List로 하는 기준을 어떤식으로 잡으면 좋을까요...?
yhd4286님 안녕하세요 🙂 요소 개수를 기준으로 구분하면 제일 쉬울 것 같아요! 만약 문제에서 제시한 N의 개수가 1000개 이하라면 2차원 배열을 쓰는 것이 성능이 더 빨라서 좋은데요, 1000개를 초과하면 2차원 배열을 만들 때 낭비되는 공간이 너무 크고, 1000x1000 배열이 되어 요소가 너무 많아 생성자체가 안됩니다. 그래서 List를 사용하는 것이 좋고요. 저는 배열을 쓰는 것이 List의 인터페이스/함수들을 외우는 것보다 쉬워서 선호하는데요, 혹시 어떤 걸 쓸지 고민하기 조차 싫으시다면 그냥 List로 통일해서 다 풀어도 됩니다!
- 1
- 1
- 60
질문&답변
2024.04.29
강사님 안녕하세요! 깊이 우선 탐색 2 (백준 24480)에서 제공하는 풀이 코드에서 궁금한 점이 있어서 질문 드립니다!
찬혁님 안녕하세요 🙂 알림 메일을 늦게 확인해서 이제야 답변 드려서 죄송합니다 ㅠ 많이 늦어졌네요. 댓글 남겨주신 대로 위 답안은 정답이 잘 나오는 것 같아요! 그리고 MAX와 N+1과 관련된 질문에 대해서는 찬혁님 말씀이 맞습니다! N+1로 해도 정답이 나오고, 이렇게 짜는 게 가장 효율적인 답변이 되는 것이 맞습니다. 다만 때에 따라서 N+2를 해야되는 경우도 생기고, N+100도 필요할 때가 있더라고요. 그런데 시험장에서 N+2인지 N+100인지를 의심하고 문제를 확인하기 까지는 시간이 꽤나 오래 걸리고, 실제로 이것 때문에 떨어지는 경우가 종종 발생하기 때문에, 그냥 문제에서 나오는 가능한 최댓값으로 시작하는 것이 가성비 좋은(?) 해결책이라 이렇게 작성하고 추천드리고 있습니다. 그런데 찬혁님께서 가능하시다면, 더 최적화 된 답변을 제출하는 게 당연히 더 좋은 코드이고 정답이 됩니다!
- 1
- 3
- 152