Skip to content

[ICE0208] WEEK 01 solutions#2657

Merged
ICE0208 merged 7 commits into
DaleStudy:mainfrom
ICE0208:main
Jun 26, 2026
Merged

[ICE0208] WEEK 01 solutions#2657
ICE0208 merged 7 commits into
DaleStudy:mainfrom
ICE0208:main

Conversation

@ICE0208

@ICE0208 ICE0208 commented Jun 25, 2026

Copy link
Copy Markdown
Member

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Hash Map / Hash Set
  • 설명: 이 코드는 set을 이용해 중복 여부를 빠르게 체크하므로 해시 맵 또는 해시 셋 패턴에 속합니다. 효율적인 검색을 위해 해시 구조를 활용합니다.

📊 시간/공간 복잡도 분석

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

피드백: 집합으로 중복 여부를 검사하는 방식은 입력 크기에 비례하는 시간과 공간 복잡도를 갖습니다.

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

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

@dalestudy

dalestudy Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

📊 ICE0208 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
contains-duplicate Easy ⚠️ 유형 불일치
house-robber Medium ✅ 의도한 유형
longest-consecutive-sequence Medium ✅ 의도한 유형
top-k-frequent-elements Medium ✅ 의도한 유형
two-sum Easy ✅ 의도한 유형

누적 학습 요약

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

문제 풀이 현황

카테고리 진행도 완료
Array □□□□□□□ 0 / 10 ← 아직 시작 안 함
Binary □□□□□□□ 0 / 5 ← 아직 시작 안 함
Dynamic Programming □□□□□□□ 0 / 11 ← 아직 시작 안 함
Graph □□□□□□□ 0 / 8 ← 아직 시작 안 함
Interval □□□□□□□ 0 / 5 ← 아직 시작 안 함
Linked List □□□□□□□ 0 / 6 ← 아직 시작 안 함
Matrix □□□□□□□ 0 / 4 ← 아직 시작 안 함
String □□□□□□□ 0 / 10 ← 아직 시작 안 함
Tree □□□□□□□ 0 / 14 ← 아직 시작 안 함
Heap □□□□□□□ 0 / 3 ← 아직 시작 안 함

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

🔢 API 사용량 (gpt-4.1-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 1,908 173 2,081 $0.000260

Comment thread house-robber/ICE0208.py

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Dynamic Programming
  • 설명: 이 코드는 이전 계산 결과를 저장하며 최적 부분 문제를 해결하는 DP 패턴을 사용하여 최대 도둑질 금액을 계산합니다.

📊 시간/공간 복잡도 분석

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

피드백: DP 배열을 사용하여 각 위치별 최적값을 저장하므로 선형 시간과 공간이 소요됩니다.

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

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

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Hash Map / Hash Set
  • 설명: 이 코드는 집합을 이용해 연속된 숫자를 찾고, 중복 계산을 방지하기 위해 Hash Set을 활용합니다. 효율적인 검색과 방문 체크를 위해 해시 자료구조를 사용합니다.

📊 시간/공간 복잡도 분석

ℹ️ 이 파일에는 2가지 풀이가 포함되어 있어 각각 분석합니다.

풀이 1: Solution2.longestConsecutive — Time: O(n) / Space: O(n)
복잡도
Time O(n)
Space O(n)

피드백: 집합을 활용하여 연속된 수를 빠르게 찾으며, 각 수는 최대 두 번 방문하므로 선형 시간 복잡도를 갖습니다.

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

풀이 2: Solution1.longestConsecutive — Time: O(n^2) / Space: O(n)
복잡도
Time O(n^2)
Space 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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Hash Map / Hash Set, Bucket Sort
  • 설명: 해당 코드는 숫자 빈도 수를 세기 위해 Hash Map을 사용하며, 빈도별로 분류하는 데 Bucket Sort 방식을 활용합니다. 이를 통해 최빈값을 효율적으로 찾습니다.

📊 시간/공간 복잡도 분석

ℹ️ 이 파일에는 2가지 풀이가 포함되어 있어 각각 분석합니다.

풀이 1: Solution2.topKFrequent — Time: O(n) / Space: O(n)
복잡도
Time O(n)
Space O(n)

피드백: 버킷 정렬을 활용하여 빈도별로 수를 분류하므로 선형 시간 복잡도를 기대할 수 있습니다.

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

풀이 2: Solution1.topKFrequent — Time: O(n log n) / Space: O(n)
복잡도
Time O(n log n)
Space O(n)

피드백: 정렬을 사용하므로 시간 복잡도가 O(n log n)으로 증가합니다.

개선 제안: 버킷 정렬 방식을 고려하면 더 효율적입니다.

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

Comment thread two-sum/ICE0208.py

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Hash Map / Hash Set
  • 설명: 이 코드는 숫자와 인덱스를 저장하는 해시 맵을 이용하여, 목표값과 현재 숫자의 차이를 빠르게 찾는 방식으로 해결합니다. 이를 통해 시간 복잡도를 줄이며 효율적으로 문제를 해결하는 패턴입니다.

📊 시간/공간 복잡도 분석

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

피드백: 단일 순회와 해시맵을 활용하여 선형 시간 복잡도를 달성합니다.

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

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

@Chanz82 Chanz82 self-requested a review June 26, 2026 00:42
@ICE0208

ICE0208 commented Jun 26, 2026

Copy link
Copy Markdown
Member Author

@DaleStudy 리뷰

@dalestudy

dalestudy Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

좋은 시작점들입니다. 몇 가지 핵심 피드백을 간결하게 남깁니다.

  • TC/SC 명시 필요: 각 풀이에 시간복잡도와 공간복잡도를 간단히 표기해 주세요. 예: TC: O(n), SC: O(n) 등. 특히 해시맵/버킷/DP 사용 부분의 복잡도 명확히 표기하면 리뷰가 수월합니다.
  • 가독성 및 스타일: import 누락(List, Counter)과 주석의 정리 필요. 파이썬 타입 힌트 사용 시 필요한 모듈 import를 코드 상단에 명시하고, 주석은 불필요한 중복을 줄여 핵심만 남겨 주세요.
  • 더 나은 접근법 제안:
    • containsDuplicate: 단순 set 비교로 충분하지만, 리스트 내 특정 형태의 제약이 있으면 주석에 간단한 이유를 남겨 두면 좋습니다.
    • house-robber: 현재 DP 배열을 사용했는데, 공간을 O(1)로 줄이는 최적화 버전이 있습니다. 예: prev, curr 두 변수로 불가피한 부분만 유지.
    • longest-consecutive-sequence: 2차 풀이가 훨씬 편하고 중복 방문을 줄인 점 좋습니다. 다만 1차 풀이의 불필요한 visit 사용을 2차처럼 단순화하는 방향으로 정리하면 좋습니다.
    • top-k-frequent-elements: 버킷 정렬(桶정렬) 아이디어 좋고, 1차/2차 비교도 명확합니다. Counter 임포트와 리스트 초기화 크기에 대한 주석 추가로 가독성 향상 가능.
    • two-sum: 해시맵 풀이 최적. 다만 반환 실패 시 기본값([])를 반환하는 대신 예외 처리나 명시적 실패 경로를 문서화해 두면 좋습니다.
  • 베스트 프랙티스: 모든 파일에 필요한 import 선언 추가, 리스트 인덱스 접근 시 예외 상황 고려, 테스트 케이스 추가를 권장합니다.

격려: 여러 문제에 걸쳐 다양한 풀이를 제시한 점이 인상적이에요. 간단한 정리와 최신 파이썬 스타일로 소폭 다듬으면 PR의 품질이 크게 올라갈 겁니다.

@ICE0208

ICE0208 commented Jun 26, 2026

Copy link
Copy Markdown
Member Author

@DaleStudy 승인

@dalestudy dalestudy Bot left a comment

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.

승인되었습니다! 👍

@ICE0208

ICE0208 commented Jun 26, 2026

Copy link
Copy Markdown
Member Author

토요일에 확인할 시간이 없을 것 같아 부득이하게 셀프 승인 처리하였습니다.

@ICE0208 ICE0208 merged commit 3376799 into DaleStudy:main Jun 26, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from In Review to Completed in 리트코드 스터디 8기 Jun 26, 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