Skip to content

Conversation

@Blossssom
Copy link
Contributor

@Blossssom Blossssom commented Jan 18, 2026

답안 제출 문제

  • 문제 1
  • 문제 2
  • 문제 3
  • 문제 4

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@Blossssom
Copy link
Contributor Author

@DaleStudy 리뷰해줘

@dalestudy
Copy link
Contributor

dalestudy bot commented Jan 20, 2026

우선 여러 문제를 깔끔하게 해결하셨네요! 특히 BFS, DFS, 투포인터, 이진 탐색 등 다양한 알고리즘을 잘 활용하셨습니다. 아래는 몇 가지 개선 및 학습 포인트입니다.

  1. 시간/공간 복잡도 명시 요청: 각 함수에 TC, SC를 간단히 명시하는 것이 좋습니다. 예를 들어, canFinish는 TC: O(V+E), SC: O(V) 같은 형태로요. 이렇게 하면 효율성 평가가 쉬워지고, 본인도 더 명확히 이해하게 됩니다.

  2. 코드 가독성 및 스타일: 대부분 깔끔하지만, 일부 변수 이름(예: obj 대신 adjacencyMap 등)을 명확히 하고, 함수 설명에 더 구체적인 내용을 넣으면 좋겠습니다. 예를 들어, hasCycle은 순환 체크임을 강조하는 주석이 도움이 될 것 같네요.

  3. 중복 코드 최적화: reorderList에서 while (left < right) 이후 마지막 노드의 nextnull로 설정하는 부분이 좋은데, 이 부분을 더 명확히 하기 위해 마지막 노드가 확실히 종료된다는 주석을 넣는 것도 추천합니다.

  4. 더 나은 접근법 제안: 일부 문제는 투포인터, 이진탐색, 또는 수학적 공식을 이용하는 더 최적화된 방법이 있으니, 본인 문제에 맞게 탐색하는 것도 고려해보세요.

  5. 가독성 및 스타일: 전체적으로 변수 선언, 들여쓰기, 주석이 깔끔합니다. 다만, 간혹 shift() 사용 후 ! 연산자를 쓰는 부분이 있는데, 이 경우 shift()if 체크로 null 체크하는 것도 안전한 방법입니다.

이렇게 여러 문제를 잘 풀어내셨으니, 앞으로는 복잡한 문제의 시간/공간 복잡도 명시와 더 깔끔한 주석으로 가독성을 높이면 더욱 훌륭한 코드가 될 것 같습니다. 계속해서 다양한 문제에 도전하며 성장하는 모습 기대할게요!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

1 participant