Skip to content

[liza0525] WEEK 12 Solutions#2608

Merged
liza0525 merged 5 commits into
DaleStudy:mainfrom
liza0525:main
May 23, 2026
Merged

[liza0525] WEEK 12 Solutions#2608
liza0525 merged 5 commits into
DaleStudy:mainfrom
liza0525:main

Conversation

@liza0525
Copy link
Copy Markdown
Contributor

답안 제출 문제

작성자 체크 리스트

  • Projects의 오른쪽 버튼(▼)을 눌러 확장한 뒤, Week를 현재 주차로 설정해주세요.
  • 문제를 모두 푸시면 프로젝트에서 StatusIn Review로 설정해주세요.
  • 코드 검토자 1분 이상으로부터 승인을 받으셨다면 PR을 병합해주세요.

검토자 체크 리스트

Important

본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!

  • 바로 이전에 올라온 PR에 본인을 코드 리뷰어로 추가해주세요.
  • 본인이 검토해야하는 PR의 답안 코드에 피드백을 주세요.
  • 토요일 전까지 PR을 병합할 수 있도록 승인해주세요.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Greedy, Sorting
  • 설명: 이 코드는 구간을 종료 기준으로 정렬한 후, 겹치는 구간을 최소화하기 위해 탐욕적으로 선택하는 방식으로 해결합니다. 정렬과 선택 과정이 핵심이므로 Greedy 패턴이 적용됩니다.

📊 시간/공간 복잡도 분석

유저 분석 실제 분석 결과
Time O(n log n) O(n log n)
Space O(1) O(1)

피드백: 구간을 끝나는 지점 기준으로 정렬한 후, 이전 구간의 종료점과 비교하여 겹치는 구간을 세는 방식으로 효율적입니다. 정렬이 시간 복잡도의 주된 비용입니다.

개선 제안: 현재 구현이 적절해 보입니다.

@dalestudy
Copy link
Copy Markdown
Contributor

dalestudy Bot commented May 22, 2026

📊 liza0525 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
non-overlapping-intervals Medium ✅ 의도한 유형
number-of-connected-components-in-an-undirected-graph Medium ✅ 의도한 유형
remove-nth-node-from-end-of-list Medium ⚠️ 유형 불일치
same-tree Easy ✅ 의도한 유형
serialize-and-deserialize-binary-tree Hard ✅ 의도한 유형

누적 학습 요약

  • 풀이한 문제: 55 / 75개
  • 이번 주 유형 일치율: 80% (5문제 중 4문제 일치)

문제 풀이 현황

카테고리 진행도 완료
Array ■■■■■■■ 10 / 10 (Medium 7, Easy 3)
Dynamic Programming ■■■■■■□ 10 / 11 (Easy 1, Medium 9)
String ■■■■■■□ 9 / 10 (Medium 5, Hard 1, Easy 3)
Linked List ■■■■■■□ 5 / 6 (Easy 3, Hard 1, Medium 1)
Binary ■■■■■■□ 4 / 5 (Easy 3, Medium 1)
Graph ■■■■■□□ 6 / 8 (Medium 6)
Matrix ■■■■■□□ 3 / 4 (Medium 3)
Heap ■■■■■□□ 2 / 3 (Hard 1, Medium 1)
Tree ■■■□□□□ 6 / 14 (Hard 1, Medium 3, Easy 2)
Interval ■□□□□□□ 1 / 5 (Medium 1)

🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다.

🔢 API 사용량 (gpt-4.1-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 2,968 171 3,139 $0.000365

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Breadth First Search
  • 설명: 이 코드는 그래프의 연결요소를 찾기 위해 BFS를 활용하여 노드들을 탐색합니다. 큐를 이용한 탐색 방식이 핵심입니다.

📊 시간/공간 복잡도 분석

유저 분석 실제 분석 결과
Time O(V + E) O(V + E)
Space O(V + E) O(V + E)

피드백: 인접 리스트를 이용한 BFS 탐색으로 모든 노드와 엣지를 한 번씩 방문하므로 시간 복잡도는 노드와 엣지의 개수에 비례합니다. 방문 여부를 저장하는 배열과 그래프 표현이 공간을 차지합니다.

개선 제안: 현재 구현이 적절해 보입니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: DFS
  • 설명: 이 코드는 재귀 호출을 이용하여 리스트의 끝에서부터 역순으로 노드 위치를 계산하는 DFS 패턴을 사용합니다. 부모와 자식 노드 간의 재귀 호출을 통해 노드 제거 위치를 찾습니다.

📊 시간/공간 복잡도 분석

유저 분석 실제 분석 결과
Time O(n) O(n)
Space O(n) O(n)

피드백: 단일 순회와 재귀 호출로 뒤에서 n번째 노드를 찾으며, 재귀 스택이 노드 수만큼 쌓입니다. 시간은 노드 수에 비례합니다.

개선 제안: 현재 구현이 적절해 보입니다.

Comment thread same-tree/liza0525.py
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: Depth-First Search
  • 설명: 이 코드는 두 트리를 비교하기 위해 스택을 활용한 DFS 방식으로 노드를 순차 탐색하며, 재귀 대신 반복문을 사용합니다.

📊 시간/공간 복잡도 분석

유저 분석 실제 분석 결과
Time O(n) O(n)
Space O(n) O(h)

피드백: 모든 노드를 한 번씩 방문하며, 스택에 최대 트리의 너비만큼 쌓이므로 공간 복잡도는 너비에 비례합니다. 시간은 노드 수에 비례합니다.

개선 제안: 현재 구현이 적절해 보입니다.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏷️ 알고리즘 패턴 분석

  • 패턴: 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)

피드백: 모든 노드를 재귀적으로 생성하며, 문자열을 순차적으로 처리하므로 시간과 공간 모두 노드 수에 비례합니다.

개선 제안: 현재 구현이 적절해 보입니다.

💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!

@hwi-middle hwi-middle self-requested a review May 23, 2026 06:56
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 문제는 엄격한 조건이 없다보니 각자 구현을 보는 재미가 있는 것 같습니다👀

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 그렇네요! 풀이 구경해보고 왔는데 BFS로 푸셨군요 :) 잘 보았습니다~!

Copy link
Copy Markdown
Contributor

@hwi-middle hwi-middle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이번 주도 수고하셨습니다!!

@liza0525
Copy link
Copy Markdown
Contributor Author

이번 주도 수고하셨습니다!!

@hwi-middle 감사합니다! 주말 잘 보내세요!!

@liza0525 liza0525 merged commit 280b1ac into DaleStudy:main May 23, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Completed in 리트코드 스터디 7기 May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Completed

Development

Successfully merging this pull request may close these issues.

2 participants