Skip to content

Conversation

@chjung99
Copy link
Contributor

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@chjung99
Copy link
Contributor Author

@DaleStudy 리뷰해줘

@dalestudy
Copy link
Contributor

dalestudy bot commented Jan 31, 2026

전체적으로 깔끔하고 기능별로 구분된 좋은 PR입니다! 다만, 몇 가지 개선 포인트와 피드백을 드리자면:

  1. 시간/공간 복잡도 분석 추가 요청

    • 각 알고리즘에 대한 TC/SC를 명확히 적어주세요. 예를 들어, countSubstrings는 현재 O(n^3) 시간복잡도(이중 루프와 문자열 비교)이며, 공간복잡도는 문자열 복사로 인해 O(n)입니다.
    • getSum은 반복문 대신 비트 연산만으로 수행되어 O(1) 시간, O(1) 공간입니다.
    • topKFrequent는 해시맵과 정렬을 이용해 O(n log n) 시간, O(n) 공간입니다.
  2. 가독성 향상

    • isPalindrom 함수명은 오타입니다(isPalindrome이 더 자연스럽습니다).
    • countSubstrings에서는 s[i:j] 슬라이스를 매번 만들기보다, 인덱스 기반으로 팰린드롬 체크하는 방법도 고려해보세요. 슬라이스 생성은 비용이 크기 때문에, 효율성을 높일 수 있습니다.
    • topKFrequent에서는 map.get(key)를 호출하는 대신 map.containsKey() 체크 후 값 가져오기를 하는 것이 조금 더 명확할 수 있습니다. 또는 map.putIfAbsent() 활용도 고려 가능.
  3. 더 나은 알고리즘 제안

    • countSubstrings는 O(n^3)인데, 팰린드롬 확장 방법(중심 확장 기법)을 사용하면 O(n^2)으로 개선 가능합니다. 이는 성능 향상에 큰 도움이 될 수 있어요.
    • topKFrequent는 힙(우선순위 큐)을 활용하면 정렬보다 더 빠른 O(n log k)로 구현할 수 있어요.
  4. 코드 스타일

    • Java에서는 Map<Integer, Integer> map = new HashMap<>(); 대신, var를 활용하거나, getOrDefault()를 사용하면 더 간결합니다. 예: map.put(key, map.getOrDefault(key, 0) + 1);
    • 함수와 변수 이름을 더 직관적으로 지어주세요. 예를 들어, isPalindromisPalindrome.
    • 필요 없는 공백이나 줄바꿈은 없지만, 일관성 있게 정리하면 더 깔끔합니다.

격려드리고 싶은 점은, 전체 구조가 명확하고 문제별로 깔끔한 구분이 되어 있어, 앞으로 더 최적화와 가독성 향상에 집중하면 좋겠어요. 수고 많으셨습니다!

@chjung99
Copy link
Contributor Author

@DaleStudy 승인

Copy link
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.

승인되었습니다! 👍

@chjung99 chjung99 merged commit 17646cf into DaleStudy:main Jan 31, 2026
3 checks passed
@github-project-automation github-project-automation bot moved this from In Review to Completed in 리트코드 스터디 6기 Jan 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Completed

Development

Successfully merging this pull request may close these issues.

1 participant