Skip to content

Conversation

@rivkode
Copy link
Member

@rivkode rivkode commented Jan 15, 2026

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@TonyKim9401
Copy link
Contributor

@DaleStudy 리뷰해줘

@dalestudy
Copy link
Contributor

dalestudy bot commented Jan 17, 2026

이 솔루션은 이진트리 역전 문제를 재귀적으로 잘 해결했어요! 특히, invert() 메서드로 노드의 자식을 교환하는 부분이 명확하고 깔끔합니다. 다만, 몇 가지 개선점과 피드백을 드리자면:

  1. 시간/공간 복잡도 분석: 현재는 포함되어 있지 않으니, TC: O(n), SC: O(h) (재귀 호출 스택 최대 깊이)로 명시하면 좋겠어요. 이로써 리뷰어가 성능을 빠르게 파악할 수 있습니다.

  2. 코드 가독성: dfs() 함수 내에서 invert()를 호출하는 구조는 괜찮지만, dfs() 자체에서 노드를 처리하는 것과 역전하는 부분을 하나의 함수로 묶는 것도 고려해보세요. 예를 들어, invertAndTraverse()처럼 이름을 바꾸면 역할이 더 명확해집니다.

  3. 알고리즘 제안: 현재 재귀 방식을 잘 사용했지만, 반복문과 큐를 활용한 BFS 방식도 성능에 큰 차이 없이 구현 가능합니다. 코드 길이와 이해도를 고려하면 재귀가 더 직관적이니, 참고만 하세요.

  4. 가독성 개선: invertTree()에서 dfs(invert(root)); 호출 뒤에 바로 return root; 하는 것보다, invert()dfs() 호출을 하나의 흐름으로 묶거나, invert() 내부에서 자식을 탐색하는 방식으로 구조를 조금 다듬는 것도 좋습니다.

  5. 기타: 불필요한 null 체크 (예: if (node.left != null))는 없애도 무방합니다. dfs()에서 null 체크만으로 충분하기 때문입니다.

이 코드는 잘 구조화되어 있고, 재귀적 방식이 명확하여 좋습니다. 약간의 가독성 개선과 복잡도 분석을 추가하면 더욱 완성도가 높아질 것 같아요. 계속해서 좋은 코드 기대할게요!

Copy link
Contributor

@TonyKim9401 TonyKim9401 left a comment

Choose a reason for hiding this comment

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

10주차 문제 풀이 고생하셨습니다.
DFS 알고리즘 파악 및 invert 메소드를 사용해서 코드가 굉장히 가독성 좋아진것 같아요!
이제 1/3 남았네요. 한달 조금 남은 기간동안 힘내세요!

@TonyKim9401 TonyKim9401 merged commit 621c6d8 into DaleStudy:main Jan 17, 2026
3 checks passed
@github-project-automation github-project-automation bot moved this from Solving to Completed in 리트코드 스터디 6기 Jan 17, 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