[seongmin36] WEEK 04 Solutions - #2747
Conversation
📊 seongmin36 님의 학습 현황이번 주 제출 문제
누적 학습 요약
문제 풀이 현황
🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다. 🔢 API 사용량 (gpt-5-nano)
|
There was a problem hiding this comment.
O(1) 공간복잡도와 O(N) 시간복잡도로도 해결하실수 있으세요! 한번 시도해보시는것도 좋겠네요
| while (left < right) { | ||
| let mid = Math.floor((left + right) / 2); | ||
|
|
||
| if (nums[mid] > nums[right]) { |
There was a problem hiding this comment.
탐색 과정에서 정답으로 판정할 수 있는 경우가 있어서 한 번 최적화 시도해보셔도 좋을 거 같습니다.
There was a problem hiding this comment.
그렇네요, 회전된 정렬 배열이라는 점에서 최솟값을 바로 찾을 수 있겠네요! 피드백 감사합니다
| let count = Math.max(left_depth, right_depth) + 1; | ||
|
|
||
| return count; |
There was a problem hiding this comment.
count 보단 maxDepth 와 같은 네이밍이 더 적절할 거 같은데 함수명이랑 겹쳐서 인라인해도 괜찮을 거 같습니다.
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Binary Search
- 설명: 회전된 정렬 배열에서 최소값을 이진 탐색으로 찾는 알고리즘으로, 중간 인덱스를 확인해 탐색 구간을 반으로 축소한다. O(log n)의 시간 복잡도와 O(1)의 공간 복잡도를 갖는다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(log n) |
| Space | O(1) |
피드백: 중간값 비교를 통해 회전점 인근으로 범위를 점진 축소한다. 공통적으로 좌우 중 어느 쪽이 더 큰지에 따라 탐색 구간을 반으로 줄인다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Depth-First Search, Binary Search
- 설명: 코드는 이진 트리를 재귀적으로 좌우로 탐색하며 깊이를 구한다. 자식 노드로의 탐색은 DFS의 전형적 형태이고, 재귀를 통한 깊이 축적이 핵심이다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(h) |
피드백: 리프까지 모든 노드를 한 번씩 방문하며 재귀로 깊이를 계산한다. 최악의 경우 트리의 높이가 공간 복잡도에 영향
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Two Pointers, Linked List
- 설명: 두 정렬 리스트를 하나로 합치기 위해 두 포인터(list1,list2)로 값을 비교하고 작은 노드를 차례대로 연결하는 전형적인 투 포인터 방식의 연결 리스트 병합 패턴.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(1) |
피드백: 가상 머리(dummy) 노드를 사용해 비교하며 결과를 구성한다. 남은 노드를 연결하는 부분까지 일관되게 처리
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!