Skip to content

[seongmin36] WEEK 02 Solutions#2690

Open
seongmin36 wants to merge 12 commits into
DaleStudy:mainfrom
seongmin36:main
Open

[seongmin36] WEEK 02 Solutions#2690
seongmin36 wants to merge 12 commits into
DaleStudy:mainfrom
seongmin36:main

Conversation

@seongmin36

@seongmin36 seongmin36 commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@dalestudy

dalestudy Bot commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

📊 seongmin36 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
3sum Medium ✅ 의도한 유형
climbing-stairs Easy ✅ 의도한 유형
product-of-array-except-self Medium ✅ 의도한 유형
valid-anagram Easy ✅ 의도한 유형
validate-binary-search-tree Medium ✅ 의도한 유형

누적 학습 요약

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

문제 풀이 현황

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

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

🔢 API 사용량 (gpt-5-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 1,278 187 1,465 $0.000139
2 2,324 206 2,530 $0.000199
합계 3,602 393 3,995 $0.000337

Comment thread 3sum/seongmin36.js

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Two Pointers, Hash Map / Hash Set, Greedy, Sorting
  • 설명: 정렬된 배열에서 i를 고정하고 나머지에서 두 수의 합으로 0을 만드는 짝을 찾기 위해 Set을 사용해 역원을 확인한다. 한 번의 외부 루프와 내부 루프 조합으로 부분적으로 투 포인터처럼 동작하지만, 실제로는 해시셋으로 탐색하는 패턴과 중복 제거 로직이 포함되어 있다. 전체적으로 3SUM 문제의 탐색 전략으로 해시 맵/셋과 정렬의 조합을 사용한다.

📊 시간/공간 복잡도 분석

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

피드백: 정렬 후 외부 루프를 두고 내부에서 중복 제거를 위한 처리와 보조 집합(pocket)을 사용한다.

개선 제안: 현재 구현은 시간복잡도가 O(n^2)인 구조를 잘 따르고 있다. 중복 제거를 배열 인덱스 비교로도 가능하지만, Set 사용으로도 안정적이다.

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

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
  • 설명: 2단계 점프와 1단계 점프의 합으로 수를 누적 계산하는 전형적인 DP 문제이며, 이전 상태의 결과를 이용해 현재 값을 구한다.

📊 시간/공간 복잡도 분석

복잡도
Time O(n)
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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Two Pointers
  • 설명: 배열의 각 위치에 대해 자신을 제외한 곱을 구하기 위해 좌우 두 지점을 동시에 진행하는 두 포인터 방식이다. left와 right를 각각 관리하며 중간 중복 없이 누적 곱을 업데이트한다.

📊 시간/공간 복잡도 분석

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

피드백: 왼쪽 곱과 오른쪽 곱을 누적해 각 위치의 값을 업데이트한다.

개선 제안: 추가 공간 사용을 최소화하려면 출력 배열을 이용해 더 최적화 가능하다.

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

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, Two Pointers
  • 설명: 두 문자열의 문자 빈도를 해시맵으로 카운트하고 비교하며, 한 문자열에서 다른 문자열의 문자를 차감하는 방식은 해시 맵 활용 패턴이다. 빠른 비교를 위해 포인터를 순회하는 형태로 구현되어 두 문자열 길이 일치 여부를 먼저 검사한다.

📊 시간/공간 복잡도 분석

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

피드백: 두 문자열의 길이가 다르면 바로 false를 반환하고, 한 문자열의 문자 카운트를 맵에 기록한 뒤 다른 문자열로 차감한다.

개선 제안: 알파벳 문자 제한이 있다면 고정 크기 배열로도 구현 가능하다.

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

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Binary Search, DFS, Monotonic Stack, Two Pointers, Sliding Window, Breadth-First Search, Backtracking, Dynamic Programming, Hash Map / Hash Set, Greedy, Divide and Conquer, Union Find, Trie, Bit Manipulation, Heap / Priority Queue, Hash Map / Hash Set
  • 설명: 재귀 DFS로 트리의 각 노드를 확인하며 부등식 제약을 만족하는지 검사한다. 루트에서 시작해 왼쪽은 더 작고 오른쪽은 더 커야 한다는 BST 특성을 min/max 경계값으로 재귀적으로 검증한다.

📊 시간/공간 복잡도 분석

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

피드백: 재귀적으로 왼쪽은 min, 현재값, 오른쪽은 현재값, max로 탐색하며 조건 검사를 한다.

개선 제안: 깊이가 큰 트리에서 스택 오버플로우를 우려한다면 비재귀 DFS로 바꿀 수 있다.

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

@seongmin36 seongmin36 moved this from Solving to In Review in 리트코드 스터디 8기 Jul 1, 2026
@JAEKWANG97 JAEKWANG97 self-requested a review July 2, 2026 10:18
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