월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨코딩테스트 [ ALL IN ONE ]
levelorder 방식과 postorder 방식에서의 시간복잡도에 관해 질문이 있습니다.
강사님께서는 어짜피 둘다 모든 노드를 순회해야 하기 때문에 최악의 경우에도 시간복잡도가 O(N)이라고 하셨습니다. 그런데 아래와 같이 leetcode에 제출한 결과 런타임이 다르게 나와서 의문이 들었습니다.위가 postorder고, 아래가 levelorder인데 왜 levelorder가 더 빠른건가요?? 아니면 시간복잡도는 대략적으로 계산한 결과이기 때문에 실제 런타임을 돌린 결과에서는 상수값의 차이가 나서 저런 결과가 나온건가요??
- 해결됨코딩테스트 [ ALL IN ONE ]
two_sum 문제에서 원소 중복 여부 관련 질문
two_sum 문제에서 input으로 주어지는 nums에는 중복 원소가 없다고 가정하나요?문제에 '같은 원소를 두 번 사용할 수 없습니다.'라는 조건이 있는데, 예를 들어, nums = [4,1,9,7,8,2], target=14인 경우에는 False를 출력해야 하는 반면, nums = [4,1,9,7,7,2], target=14인 경우에는 True를 출력해야 하니까 원소 중복 가능 여부를 여쭤보게 되었습니다!
- 해결됨코딩테스트 [ ALL IN ONE ]
제 경우에는 이렇게 코드를 짜봤는데 이것도 맞을까요?
class Solution(object): def lowestCommonAncestor(self, root, p, q): if root is None: # check whether Node is empty return if root is p or root is q: return root # root 노드가 p 또는 q가 아니면 순회하도록 재귀함수 호출 l = self.lowestCommonAncestor(root.left, p, q) # code 1 r = self.lowestCommonAncestor(root.right, p, q) # code 2 # p와 q 조건 검사를 마친 후(모든 노드를 순회하는 것은 아님) if l and r: return root elif l: return l else: return r먼저 LCA함수를 호출하면 root가 가리키는 노드가 있는지 체크한 다음에 계속해서 p 또는 q 노드가 맞는지 확인을 합니다. 만약 p 또는 q 노드가 아니면 재귀함수를 호출해서 자식 노드로 더 깊이 순회하도록 만듭니다. 역시 자식 노드들도 p 또는 q 노드가 맞는지 검사한 후 맞으면 l 또는 r에 그 노드를 저장합니다. 여기서 궁금한 점은, 자기 자신이 공통 조상이 될 때인데요. 이렇게 되면 더 깊이까지 탐색하지 않아도 elif l: return l 에 의해서 왼쪽만 탐색했으니까 시간복잡도가 O(logN)인가요? 아니면 다른 케이스들도 고려해서 최악의 경우 모든 노드를 탐색해야되니까 O(N)이 되는건가요?
- 해결됨코딩테스트 [ ALL IN ONE ]
강의 자료 요청 드려요.
노션 이메일 : realbig4199@gmail.com구글 폼도 작성했는데 조금이라도 빨리 받고 싶어서 글 남깁니다.좋은 강의 감사드려요!
- 해결됨코딩테스트 [ ALL IN ONE ]
강의 자료에 첨부된 사진 개인 블로그에 사용해도 되나요?
혹시 dp 설명중에 사용하신 사진과 설명을 gif로 해서 블로그에 적어놓으면 이해에 도움이 될거 같은데 사용해도 될까요? 출저는 밝히도록 하겠습니다.
- 해결됨코딩테스트 [ ALL IN ONE ]
while 반복문의 조건에 대해 질문있습니다.!
안녕하세요 선생님강의 잘듣고 있습니다.! while 반복문의 조건이l == r 일때까지 반복문을 실행하는건 이해했는데 왜 조건이 l < r 인지 잘이해가 안됩니다ㅠ 혹시 while 반복문의 조건을 l != r 이라고 해도 되는건가요?
- 해결됨코딩테스트 [ ALL IN ONE ]
defaultdict() 함수의 선언부가 궁금해요
다익스트라 Network Delay Time 강의에가중치 그래프 구현을 위해 사용된 defalutdict() 함수의 내용이 없네요 어떻게 선언하셨는지 궁금합니다.
- 해결됨코딩테스트 [ ALL IN ONE ]
복습 방법
현재 다익스트라와 관련된 강의까지 들어 놓은 상태이고 그 뒤는 아직 안 올라와서 나중에 들으려고 하는데 복습 겸 앞서 배운 부분을 공부해보려고 합니다 근데 어떤 걸 우선순위로 두고 공부해야 할지 잘 모르겠습니다. 그냥 백준에서 dfs bfs graph 풀면 될지 아니면 list queue 등 기초를 풀어보고 심화로 넘어가는게 좋을지 모르겠습니다 또한 알고리즘도 자주 나오는게 있고 덜 나오는게 있을텐데 뭘 먼저 풀어야할지 모르겠습니다우선순위가 높은 알고리즘을 알려주시면 감사하겠습니다
- 해결됨코딩테스트 [ ALL IN ONE ]
10의 8승 시간복잡도 근본적인 이유
안녕하세요 강사님.코딩테스트를 준비하거나 시험을 치를 때 지켜야 하는 시간복잡도를 왜 10의 8승인건지 근본적인 이유를 알고 싶습니다.그냥 이 시간복잡도를 일종의 (관행적인 느낌의) 마지노선으로 두는 것인지요..
- 해결됨코딩테스트 [ ALL IN ONE ]
혹시 그리디 알고리즘은 안하는건가요?
제가 놓친건진 모르겠는데 그리디가 목차에 없어서 궁금합니다!
- 해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 부탁드립니다
인프런 아이디 : dudrhkd4179@naver.com ( 카카오 로그인 )노션 이메일 : dudrhkd3892@gmail.com
- 해결됨코딩테스트 [ ALL IN ONE ]
심화강의 일정
안녕하세요, 강의 잘 수강하고 있습니다. 혹시 강의가 언제 다 올라올까요? 빨리 듣고싶습니다~
- 해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 계정
안녕하세요원래 노션 공유 받았던 계정이 회사 계정으로 넘어가게 되면서 사용하지 못하게 되었습니다.코딩테스트 all in one 계정 노션 다시 공유 받고 싶습니다! 이메일은 kdlatnrud123@naver.com 입니다! 감사합니다.
- 해결됨코딩테스트 [ ALL IN ONE ]
강의자료 부탁드립니다!
노션 이메일 : 20185158@hallym.ac.kr 빨리 강의 자료 받아서 열심히 공부하고 싶은데 아직 자료를 못받았습니다 ㅠㅠ 강의 자료 부탁드립니다. 그리고, 좋은 강의 해주셔서 감사합니다 :)
- 미해결코딩테스트 [ ALL IN ONE ]
강의 듣고 난 후 어떤 문제를 풀어야 할까요
안녕하세요! 강의 잘 듣고있습니다. 강의듣고 나서 해당 알고리즘에 맞는 쉬운문제부터 차근차근 풀어보고 싶은데 추천하는 문제 리스트가 있나요? 그리고 디스코드에서 문제를 같이푸는건 어떤건가요???저는 디스코드가 안들어가집니다.
- 해결됨코딩테스트 [ ALL IN ONE ]
다익스트라 final 노드 도착후에 바로 종료하지 않는 이유가 궁금합니다.
구현하신 코드를 보니 목적지에 도착한 이후에도 우선순위 큐를 모두 비우고 나서 값을 리턴하도록 함수를 작성하셨는데요, 목적지 도달 후 바로 반환 하는 것이 시간상 더 유리할 것 같은데 혹시 다른 이유가 있는걸까요?
- 해결됨코딩테스트 [ ALL IN ONE ]
노션 교재가 있어야 수강 가능한가요?
안녕하세요!강의를 수강하려고 결제했는데 노션 교재를 바로 받아 볼 수 있는게 아니더라구요 ㅠㅠ구글폼 제출했는데..노션 교재가 있어야 원활한 수강이 가능한 것인지요?
- 해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 부탁드리겠습니다
인프런 아이디: sonaky47노션 이메일주소: sonaky47@gmail.com
- 해결됨코딩테스트 [ ALL IN ONE ]
two_sum 딕셔너리 문제 코드관련 질문이 있습니다.
class Solution(object): def twoSum(self, nums=[3,3], target=6): ans = [] dict = {} for i,v in enumerate(nums): if target-v in dict: ans.append(prev) ans.append(i) return ans dict[v] = i prev = i이렇게하면, for문 안에서 리스트를 append하는거니까 총 O(n) 하는거아닌가요? 왜 예시 테스트케이스는 통과를 했는데 리트코드에서 submit을 누르면 나머지 테스트케이스는 통과하지 못하는거죠 ㅜㅜ
- 해결됨코딩테스트 [ ALL IN ONE ]
two_sum dictionary 적용 관련 질문드립니다.
안녕하세요! two_sum 문제에 dictionary를 적용 관련하여 문의드리고자합니다.강의 코드에서는 중복값이 존재 (ex : nums = [4,1,9,7], target = 14])일 때에 대해서는 해결이 되지 않았고, 해당 문제에 대해서는 해결을 하였습니다.다만 leet code에서는 같은 값이 n번(n>=2) 들어갔을 경우 (ex : nums = [4,1,9,7,7], target = 14])에 대해서도 true를 반환해야할 것으로 보입니다.파이썬 dictionary의 경우 nums = [4,1,9,7,7]로 dictionary를 생성하게되면 중복값은 key값 생성이 되지 않는 것으로 확인됩니다.예를들어,memo = {}for index, v in enumerate(nums): memo[v] = index하게되면, { 4:0, 1:1, 9:2, 7:3, 7:4 }가 아닌 { 4:0, 1:1, 9:2, 7:4 }로 생성되는 것 같습니다. 이렇게 된다면 아래 조건식에서 판단이 어려운데 혹시 dictionary를 무조건 활용한다는 가정하에 가능한 방법(중복 key처리, 중복값에 대한 여부 저장 등(?))이 있을까요?제가 문제에 대해 정확히 이해한것이 아닐 수 있어 만약 해당 상황에 대한 풀이는 필요하지 않다면 미리 양해말씀드립니다 ㅎㅎ..