Skip to content

seonghyeon/05#44

Merged
seonghyeon0312 merged 1 commit into
ssafy-gumi-4-algorithm-study:mainfrom
seonghyeon0312:seonghyeon/week05
Mar 20, 2026
Merged

seonghyeon/05#44
seonghyeon0312 merged 1 commit into
ssafy-gumi-4-algorithm-study:mainfrom
seonghyeon0312:seonghyeon/week05

Conversation

@seonghyeon0312

@seonghyeon0312 seonghyeon0312 commented Feb 27, 2026

Copy link
Copy Markdown
Contributor
  • 상 - 백준 2098번 외판원 순회
  • 중 - 프로그래머스 Lv3 N으로 표현
  • 하 - 백준 11053번 가장 긴 증가하는 부분 수열

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude basic_B11053_가장긴증가하는부분수열 폴더에 있는 파일 리뷰해줘

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 지금 pr에 commit 번호 22c9512에 해당하는 파일 리뷰해줘

1 similar comment
@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 지금 pr에 commit 번호 22c9512에 해당하는 파일 리뷰해줘

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 이 PR의 가장 최신 커밋과 관련된 파일에 있는 코드 리뷰해줘

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 현재 PR에 있는 파일만 리뷰해줘

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 코드 리뷰해줘

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 가장 최신 커밋과 관련된 파일를 보고 코드 리뷰해줘

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 이 PR에 있는 가장 최신 커밋의 코드 리뷰해줘

@claude

claude Bot commented Feb 27, 2026

Copy link
Copy Markdown

Claude Code is working…

I'll analyze this and get back to you.

View job run

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 이 PR에 있는 가장 최신 커밋의 코드 리뷰해줘

@claude

claude Bot commented Feb 27, 2026

Copy link
Copy Markdown

Claude Code is working…

I'll analyze this and get back to you.

View job run

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 최신 커밋에 대한 코드 리뷰해줘

@claude

claude Bot commented Feb 27, 2026

Copy link
Copy Markdown

Claude Code is working…

I'll analyze this and get back to you.

View job run

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 코드리뷰 해줘

@claude

claude Bot commented Feb 27, 2026

Copy link
Copy Markdown

Claude Code is working…

I'll analyze this and get back to you.

View job run

@seonghyeon0312

Copy link
Copy Markdown
Contributor Author

@claude 코드 리뷰 해줘 PR 댓글로 최종 결과 작성하고

@claude

claude Bot commented Feb 27, 2026

Copy link
Copy Markdown

🔍 코드 리뷰 - seonghyeon.java

문제: B11053 - 가장 긴 증가하는 부분수열 (LIS)


✅ 잘한 점

  • 고전적인 O(N²) DP 접근법을 정확하게 구현했습니다.
  • dp[i]를 1로 초기화하여 "자기 자신만으로 이루어진 부분수열"을 기저 케이스로 명확히 처리한 점이 좋습니다.
  • 반복문 구조가 직관적이고 LIS 점화식(dp[i] = max(dp[i], dp[j]+1))을 충실히 따르고 있습니다.

⏱ 시간복잡도 / 공간복잡도

  • 시간복잡도: O(N²) — 이중 for문, N ≤ 1,000이므로 제한 내 충분히 통과 가능합니다.
  • 공간복잡도: O(N) — array[], dp[] 배열 각각 N개 사용

🐛 로직 오류 / 엣지케이스

  • 로직 자체는 정확합니다.
  • 다만 result-1 로 초기화한 부분은 약간 불안정해 보입니다. dp[i]는 항상 최소 1이기 때문에 실제로는 문제없이 동작하지만, 의도가 명확하지 않아 혼란을 줄 수 있습니다. 0 또는 Integer.MIN_VALUE로 바꾸거나, 아예 dp[0]으로 초기화하는 방법도 있습니다.

💡 개선 제안

  • 이 문제는 N이 작아서 O(N²)으로 충분하지만, 입력 범위가 커진다면 (예: N이 수십만) 어떻게 풀 수 있을지 고민해보면 좋습니다. 이진 탐색(Binary Search) 을 활용하면 O(N log N)으로 줄일 수 있다는 점을 참고해보세요!
  • 결과를 구하는 마지막 루프 대신, DP 갱신 루프 안에서 동시에 최댓값을 추적하면 코드를 한 단계 줄일 수도 있습니다.

🎨 코드 품질

  • 입출력: Scanner를 사용했는데, N이 작아서 이번엔 문제없지만, 습관적으로 BufferedReader + StringTokenizer 조합을 사용하면 입력이 많은 문제에서 성능 차이가 납니다.
  • 코드 포맷팅: for(int i=0;i<n;i++) 처럼 연산자 사이에 공백이 없어 가독성이 다소 떨어집니다. for (int i = 0; i < n; i++) 형태를 권장합니다.
  • 파일 끝 개행: 파일 마지막에 개행이 없습니다(No newline at end of file). 작은 부분이지만 일관된 코딩 스타일을 위해 추가하면 좋습니다.

🏁 최종 판정

  • Approve
  • 사유: LIS O(N²) DP 로직이 올바르게 구현되어 있고, 주어진 제약 조건(N ≤ 1,000)에서 정상 동작합니다. 스타일 및 가독성 관련 피드백만 있으므로 Approve합니다. result = -1 초기화와 포맷팅 부분만 다듬으면 더 깔끔한 코드가 될 것 같습니다. 수고하셨습니다! 💪

@seonghyeon0312 seonghyeon0312 merged commit 9416b37 into ssafy-gumi-4-algorithm-study:main Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants