Skip to content

[hwi-middle] WEEK 13 solutions#2620

Merged
hwi-middle merged 1 commit into
DaleStudy:mainfrom
hwi-middle:main
May 30, 2026
Merged

[hwi-middle] WEEK 13 solutions#2620
hwi-middle merged 1 commit into
DaleStudy:mainfrom
hwi-middle:main

Conversation

@hwi-middle
Copy link
Copy Markdown
Contributor

@hwi-middle hwi-middle commented May 30, 2026

답안 제출 문제

작성자 체크 리스트

  • 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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Heap / Priority Queue
  • 설명: 이 코드는 두 개의 힙을 이용해 데이터 스트림의 중앙값을 효율적으로 찾는 방법을 구현했으며, 힙 자료구조를 활용하는 패턴입니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(log n)
Space O(n)

피드백: 두 개의 힙(최대힙과 최소힙)을 유지하며, 새 숫자를 적절히 분배하고 균형을 맞추는 방식으로 중앙값을 O(1) 또는 O(log n) 시간에 찾는다. 삽입 시 힙 연산이 O(log n)이고, 공간은 저장된 숫자만큼 차지한다.

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

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

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Two Pointers
  • 설명: 이 코드는 정렬된 구간 배열과 새 구간을 병합하는 과정에서 두 포인터를 활용하여 효율적으로 구간을 처리하는 패턴입니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(n)
Space O(n)

피드백: 입력 구간 리스트를 한 번 순회하며, 새 구간과 겹치는 구간을 병합하고 나머지 구간을 그대로 결과에 추가한다. 전체 과정은 리스트 크기만큼 순회하므로 O(n) 시간과 공간을 사용한다.

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

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

@dalestudy
Copy link
Copy Markdown
Contributor

dalestudy Bot commented May 30, 2026

📊 hwi-middle 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
find-median-from-data-stream Hard ✅ 의도한 유형
insert-interval Medium ✅ 의도한 유형
kth-smallest-element-in-a-bst Medium ✅ 의도한 유형
lowest-common-ancestor-of-a-binary-search-tree Medium ✅ 의도한 유형
meeting-rooms Easy ✅ 의도한 유형

누적 학습 요약

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

문제 풀이 현황

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

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

🔢 API 사용량 (gpt-4.1-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 1,995 175 2,170 $0.000270

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
  • 설명: 이 코드는 이진 탐색 트리의 중위 순회를 재귀적으로 수행하여 k번째 작은 값을 찾는 방식으로, 깊이 우선 탐색(DFS) 패턴을 사용합니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(n)
Space O(h)

피드백: 중위순회는 트리의 모든 노드를 방문하므로 최악의 경우 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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Binary Search
  • 설명: 이 코드는 이진 탐색 트리의 특성을 이용하여 두 노드의 공통 조상을 찾는 방식으로, 값 비교를 통해 탐색 범위를 좁혀가는 이진 탐색 패턴을 사용합니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(h)
Space O(1)

피드백: BST의 성질을 이용하여 루트부터 시작해 p와 q의 값에 따라 왼쪽 또는 오른쪽으로 이동하며, 두 노드가 다른 쪽에 있으면 현재 노드가 LCA이다. 높이 h만큼 이동하므로 시간은 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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Sorting
  • 설명: 이 코드는 회의 시간 간격을 정렬한 후 겹치는지 검사하는 방식으로, 정렬을 활용하는 패턴에 속합니다. 정렬 후 순차적 비교로 문제를 해결하는 대표적인 방법입니다.

📊 시간/공간 복잡도 분석

복잡도
Time O(n log n)
Space O(1)

피드백: 회의를 시작 시간 기준으로 정렬하고, 인접 회의의 종료 시간과 비교하여 겹침 여부를 판단한다. 정렬이 O(n log n), 이후 검사에 O(n) 시간 소요. 공간은 정렬하는 데 필요한 공간만 사용한다.

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

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

@hyeri0903 hyeri0903 self-assigned this May 30, 2026
return impl(root, k, cur);
}

int impl(TreeNode* root, int k, int& cur) {
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.

method name 을 직관적으로 작성해주시면 더 좋을 것 같습니다!

Copy link
Copy Markdown
Contributor

@hyeri0903 hyeri0903 left a comment

Choose a reason for hiding this comment

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

한 주 고생하셨습니다. 다음주도 화이팅이에요!

@hwi-middle hwi-middle merged commit d86bb37 into DaleStudy:main May 30, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Completed in 리트코드 스터디 7기 May 30, 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