[hyeri0903] WEEK11 Solutions#2597
Conversation
📊 hyeri0903 님의 학습 현황이번 주 제출 문제
누적 학습 요약
문제 풀이 현황
🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다. 🔢 API 사용량 (gpt-4.1-nano)
|
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: DFS
- 설명: 이 코드는 깊이 우선 탐색(DFS)을 활용하여 각 노드에서 최대 경로 합을 계산하며, 재귀 호출을 통해 트리 전체를 탐색하는 방식입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(h) |
피드백: 각 노드에서 왼쪽, 오른쪽 서브트리의 최대값을 계산하고, 이를 이용해 전체 최대값을 갱신하는 방식으로, 노드 방문은 한 번씩 이루어지며, 재귀 호출 스택은 트리의 높이만큼 사용됩니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: DFS
- 설명: 그래프의 사이클 유무와 연결성을 검사하기 위해 DFS를 사용하여 노드 방문 여부를 체크하는 방식입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n + e) |
| Space | O(n + e) |
피드백: 그래프를 인접 리스트로 표현하고, DFS를 통해 방문 여부를 체크하며 사이클 존재 여부와 모든 노드가 연결되어 있는지 확인합니다. 간선 수와 노드 수에 따라 시간과 공간 복잡도가 결정됩니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Sorting, Two Pointers
- 설명: 이 코드는 먼저 배열을 정렬한 후, 겹치는 구간을 병합하는 과정에서 두 포인터처럼 시작과 끝을 조절하며 진행됩니다. 정렬과 포인터 이동을 활용하는 대표적인 패턴입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n log n) |
| Space | O(n) |
피드백: 배열을 시작값 기준으로 정렬하고, 정렬된 배열을 순회하며 겹치는 구간을 병합합니다. 정렬이 시간 복잡도를 지배하며, 병합 결과는 별도 리스트에 저장됩니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Sorting
- 설명: 이 코드는 배열을 정렬한 후, 순차적으로 누락된 숫자를 찾기 위해 정렬 알고리즘을 사용합니다. 정렬 후 순차 탐색으로 missing number를 찾는 방식입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n log n) |
| Space | O(1) |
피드백: 배열을 정렬하고, 인덱스와 값이 일치하는지 차례로 검사하거나, 전체 합을 이용해 누락된 숫자를 찾습니다. 정렬이 시간 복잡도를 결정하며, 별도 공간은 사용하지 않습니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Fast & Slow Pointers, Linked List Manipulation
- 설명: 이 코드는 중간 노드 찾기 위해 fast와 slow 포인터를 사용하며, 리스트를 반전시키고 병합하는 과정에서 연결리스트 조작이 핵심입니다. 따라서 Fast & Slow Pointers와 Linked List Manipulation 패턴이 적용됩니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(1) |
피드백: 포인터를 이용해 리스트를 절반으로 나누고, 뒤 리스트를 역순으로 만든 후, 두 리스트를 번갈아 병합하는 방식으로, 각 단계는 리스트를 한 번씩 순회하여 수행됩니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
|
@DaleStudy 승인 |
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!