[liza0525] WEEK 12 Solutions#2608
Conversation
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Greedy, Sorting
- 설명: 이 코드는 구간을 종료 기준으로 정렬한 후, 겹치는 구간을 최소화하기 위해 탐욕적으로 선택하는 방식으로 해결합니다. 정렬과 선택 과정이 핵심이므로 Greedy 패턴이 적용됩니다.
📊 시간/공간 복잡도 분석
| 유저 분석 | 실제 분석 | 결과 | |
|---|---|---|---|
| Time | O(n log n) | O(n log n) | ✅ |
| Space | O(1) | O(1) | ✅ |
피드백: 구간을 끝나는 지점 기준으로 정렬한 후, 이전 구간의 종료점과 비교하여 겹치는 구간을 세는 방식으로 효율적입니다. 정렬이 시간 복잡도의 주된 비용입니다.
개선 제안: 현재 구현이 적절해 보입니다.
📊 liza0525 님의 학습 현황이번 주 제출 문제
누적 학습 요약
문제 풀이 현황
🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다. 🔢 API 사용량 (gpt-4.1-nano)
|
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Breadth First Search
- 설명: 이 코드는 그래프의 연결요소를 찾기 위해 BFS를 활용하여 노드들을 탐색합니다. 큐를 이용한 탐색 방식이 핵심입니다.
📊 시간/공간 복잡도 분석
| 유저 분석 | 실제 분석 | 결과 | |
|---|---|---|---|
| Time | O(V + E) | O(V + E) | ✅ |
| Space | O(V + E) | O(V + E) | ✅ |
피드백: 인접 리스트를 이용한 BFS 탐색으로 모든 노드와 엣지를 한 번씩 방문하므로 시간 복잡도는 노드와 엣지의 개수에 비례합니다. 방문 여부를 저장하는 배열과 그래프 표현이 공간을 차지합니다.
개선 제안: 현재 구현이 적절해 보입니다.
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: DFS
- 설명: 이 코드는 재귀 호출을 이용하여 리스트의 끝에서부터 역순으로 노드 위치를 계산하는 DFS 패턴을 사용합니다. 부모와 자식 노드 간의 재귀 호출을 통해 노드 제거 위치를 찾습니다.
📊 시간/공간 복잡도 분석
| 유저 분석 | 실제 분석 | 결과 | |
|---|---|---|---|
| Time | O(n) | O(n) | ✅ |
| Space | O(n) | O(n) | ✅ |
피드백: 단일 순회와 재귀 호출로 뒤에서 n번째 노드를 찾으며, 재귀 스택이 노드 수만큼 쌓입니다. 시간은 노드 수에 비례합니다.
개선 제안: 현재 구현이 적절해 보입니다.
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Depth-First Search
- 설명: 이 코드는 두 트리를 비교하기 위해 스택을 활용한 DFS 방식으로 노드를 순차 탐색하며, 재귀 대신 반복문을 사용합니다.
📊 시간/공간 복잡도 분석
| 유저 분석 | 실제 분석 | 결과 | |
|---|---|---|---|
| Time | O(n) | O(n) | ✅ |
| Space | O(n) | O(h) | ❌ |
피드백: 모든 노드를 한 번씩 방문하며, 스택에 최대 트리의 너비만큼 쌓이므로 공간 복잡도는 너비에 비례합니다. 시간은 노드 수에 비례합니다.
개선 제안: 현재 구현이 적절해 보입니다.
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: DFS
- 설명: 이 코드는 재귀적 탐색을 통해 트리의 노드를 순회하며 직렬화와 역직렬화를 수행하므로 DFS 패턴에 속합니다.
📊 시간/공간 복잡도 분석
ℹ️ 이 파일에는 2가지 풀이가 포함되어 있어 각각 분석합니다.
풀이 1: Codec.serialize — Time: O(n) / Space: O(n)
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(n) |
피드백: 모든 노드를 방문하여 값을 리스트에 저장하므로 시간과 공간 모두 노드 수에 비례합니다.
개선 제안: 현재 구현이 적절해 보입니다.
풀이 2: Codec.deserialize — Time: O(n) / Space: O(n)
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(n) |
피드백: 모든 노드를 재귀적으로 생성하며, 문자열을 순차적으로 처리하므로 시간과 공간 모두 노드 수에 비례합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
이 문제는 엄격한 조건이 없다보니 각자 구현을 보는 재미가 있는 것 같습니다👀
There was a problem hiding this comment.
오 그렇네요! 풀이 구경해보고 왔는데 BFS로 푸셨군요 :) 잘 보았습니다~!
@hwi-middle 감사합니다! 주말 잘 보내세요!! |
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!