Skip to content

[hwi-middle] WEEK 10 solutions#2596

Merged
hwi-middle merged 1 commit intoDaleStudy:mainfrom
hwi-middle:main
May 10, 2026
Merged

[hwi-middle] WEEK 10 solutions#2596
hwi-middle merged 1 commit intoDaleStudy:mainfrom
hwi-middle:main

Conversation

@hwi-middle
Copy link
Copy Markdown
Contributor

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

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@dalestudy
Copy link
Copy Markdown
Contributor

dalestudy Bot commented May 10, 2026

📊 hwi-middle 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
course-schedule Medium ✅ 의도한 유형
invert-binary-tree Easy ✅ 의도한 유형
jump-game Medium ✅ 의도한 유형
merge-k-sorted-lists Hard ⚠️ 유형 불일치
search-in-rotated-sorted-array Medium ✅ 의도한 유형

누적 학습 요약

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

문제 풀이 현황

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

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

🔢 API 사용량 (gpt-4.1-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 2,162 171 2,333 $0.000285

@hwi-middle hwi-middle changed the title 10주차 문제 풀이 5개 추가 [hwi-middle] WEEK 10 solutions May 10, 2026
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(V + E)
Space O(V + E)

피드백: 그래프를 인접 리스트로 표현하고 DFS를 통해 방문 상태를 체크하여 사이클을 검증하는 방식으로, 각 노드와 간선을 한 번씩 탐색하므로 시간 복잡도는 O(V + E)입니다. 공간은 그래프 저장과 재귀 호출 스택, 방문 상태 배열을 고려하여 O(V + E)입니다.

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

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

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)
Space O(h)

피드백: 트리의 모든 노드를 한 번씩 방문하며 좌우 자식을 교환하므로 시간 복잡도는 O(n)입니다. 공간은 재귀 호출 스택의 깊이(트리 높이)에 따라 O(h)입니다.

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

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

@hwi-middle hwi-middle moved this from Solving to In Review in 리트코드 스터디 7기 May 10, 2026
Comment thread jump-game/hwi-middle.cpp
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
  • 설명: 이 코드는 매 단계에서 최적의 선택을 하여 최대 이동 범위를 갱신하는 그리디 알고리즘으로 문제를 해결합니다.

📊 시간/공간 복잡도 분석

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

피드백: 배열을 한 번 순회하며 최대 도달 거리를 갱신하므로 시간 복잡도는 O(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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Heap / Priority Queue
  • 설명: 이 코드는 여러 정렬된 리스트를 병합하는 데 우선순위 큐(힙)를 사용하여 최소값을 빠르게 찾고 병합하는 방식으로 구현되어 있습니다.

📊 시간/공간 복잡도 분석

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

피드백: 모든 노드를 우선순위 큐에 넣고 꺼내는 과정에서 N개의 노드에 대해 힙 연산이 수행되므로 시간 복잡도는 O(N log N). 공간은 우선순위 큐에 저장되는 노드 수에 따라 O(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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Binary Search
  • 설명: 이 코드는 회전된 정렬 배열에서 이진 탐색을 활용하여 타겟을 찾는 방식으로, 효율적인 검색을 위해 분할 탐색을 수행합니다.

📊 시간/공간 복잡도 분석

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

피드백: 이진 탐색을 재귀로 수행하며 배열의 회전 여부를 판단하여 검색 범위를 좁히므로 시간 복잡도는 O(log n). 공간은 재귀 호출 스택에 따라 O(log n) 또는 O(1) (반복문 사용 시).

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

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

@hwi-middle
Copy link
Copy Markdown
Contributor Author

@DaleStudy 리뷰해줘

@dalestudy
Copy link
Copy Markdown
Contributor

dalestudy Bot commented May 10, 2026

안녕하세요! 이번 PR은 다양한 중급 문제들을 깔끔하게 구현하셨네요. 전체적으로 코드 가독성과 구조가 좋아서 인상적입니다. 몇 가지 피드백 드리자면:

  1. 시간/공간 복잡도 명시 요청: 각 솔루션에 TC와 SC를 명시하는 주석이나 코멘트가 있으면 더 좋겠습니다. 예를 들어, canFinish는 TC: O(V+E), SC: O(V)의 그래프 탐색임을 명확히 하면 이해가 더 쉽겠어요.

  2. DFS 코드 개선: canFinish의 DFS는 표준적이고 깔끔합니다. 다만, 재귀 호출보다 반복문을 활용하는 방식도 고려해볼 수 있는데, 이건 가독성이나 성능에 미치는 영향이 크지 않아서 선택은 취향에 따라 달라집니다.

  3. 이상적인 알고리즘 제안: mergeKLists는 현재 모든 리스트를 큐에 넣고 하나씩 병합하는 방식인데, 이는 시간복잡도가 O(N log N)이지만, 최적화 가능성이 있습니다. 힙을 한 번만 만들어서 리스트의 헤드를 넣고, 그 후에 작은 노드부터 차례대로 병합하는 방식을 추천드려요. 이 방법은 좀 더 효율적입니다.

  4. 코드 스타일과 가독성: 전반적으로 일관된 네이밍과 명확한 구조입니다. swap(root->left, root->right);는 가독성이 좋고, 재귀 호출도 깔끔하게 잘 작성되어 있습니다.

  5. 추가 제안: searchInRotatedArray는 이진 탐색을 잘 구현하셨습니다. 재귀보다 반복문으로 변경하면 스택 오버플로우 위험이 줄어들 수 있고, 약간의 성능 향상도 기대할 수 있습니다.

전체적으로 훌륭한 코드입니다! 각 문제의 특성을 고려하여 복잡도 명시와 약간의 최적화를 적용하면 더욱 완성도 높은 PR이 될 것 같아요. 계속해서 좋은 코드 기대하겠습니다.

@hwi-middle
Copy link
Copy Markdown
Contributor Author

@DaleStudy 승인

Copy link
Copy Markdown
Contributor

@dalestudy dalestudy Bot 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 c8f65a6 into DaleStudy:main May 10, 2026
3 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Completed in 리트코드 스터디 7기 May 10, 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.

1 participant