Skip to content

[njngwn] WEEK 05 Solutions#2775

Merged
njngwn merged 6 commits into
DaleStudy:mainfrom
njngwn:main
Jul 25, 2026
Merged

[njngwn] WEEK 05 Solutions#2775
njngwn merged 6 commits into
DaleStudy:mainfrom
njngwn:main

Conversation

@njngwn

@njngwn njngwn commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@dalestudy

dalestudy Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

📊 njngwn 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
best-time-to-buy-and-sell-stock Easy ✅ 의도한 유형
climbing-stairs Easy ✅ 의도한 유형
encode-and-decode-strings Medium ✅ 의도한 유형
group-anagrams Medium ✅ 의도한 유형
valid-anagram Easy ✅ 의도한 유형
word-break Medium ⚠️ 유형 불일치

누적 학습 요약

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

문제 풀이 현황

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

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

🔢 API 사용량 (gpt-5-nano)
요청 입력 토큰 출력 토큰 합계 비용
1 1,222 201 1,423 $0.000142
2 1,594 224 1,818 $0.000169
3 1,907 270 2,177 $0.000203
합계 4,723 695 5,418 $0.000514

@njngwn njngwn moved this from Solving to In Review in 리트코드 스터디 8기 Jul 25, 2026

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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Greedy, Two Pointers
  • 설명: 최소값 추적과 현재 값과의 차이를 최대화하는 단일 패스 워크루프 구조로, 최적의 이익을 곱셈 없이 즉시 계산하는 그리디 패턴과 순방향 탐색의 조합이다.

📊 시간/공간 복잡도 분석

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

풀이 1: Solution.maxProfit — Time: ✅ O(n) → O(n) / Space: ✅ O(1) → O(1)
유저 분석 실제 분석 결과
Time O(n) O(n)
Space O(1) O(1)

피드백: 최대 이익은 현재 최소가 대비 차이를 비교해 갱신하고, 한 번의 for 루프로 전체 가격을 탐색한다.

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

풀이 2: Solution.climbStairs — Time: O(n) / Space: O(1)
복잡도
Time O(n)
Space O(1)

피드백: 상수 공간에 두 개의 이전 값을 저장하고 순회하며 계산한다.

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

풀이 3: Solution.encode — Time: ✅ O(n) → O(n) / Space: O(1)
유저 분석 실제 분석 결과
Time O(n) O(n)
Space - O(1) -

피드백: 각 문자열마다 길이 접두사를 추가하는 방식으로 안전하게 구분한다.

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

풀이 4: Solution.decode — Time: O(n) / Space: O(1)
복잡도
Time O(n)
Space O(1)

피드백: 정확하게 파싱하여 문자열 리스트를 재구성한다.

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

풀이 5: Solution.groupAnagrams — Time: ❌ O(n) → O(n * k log k) / Space: ❌ O(1) → O(n)
유저 분석 실제 분석 결과
Time O(n) O(n * k log k)
Space O(1) O(n)

피드백: 정렬 기반 키 생성으로 아나그램을 그룹화한다.

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

풀이 6: Solution.isAnagram — Time: ❌ O(n) → O(n + m) / Space: O(1)
유저 분석 실제 분석 결과
Time O(n) O(n + m)
Space - O(1) -

피드백: Counter를 이용한 간단하고 직관적인 비교이다.

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

풀이 7: Solution.wordBreak — Time: ❌ O(n) → O(n * average_word_length) / Space: ❌ O(1) → O(n)
유저 분석 실제 분석 결과
Time O(n) O(n * average_word_length)
Space O(1) O(n)

피드백: 메모이제이션으로 중복 서브 문제를 제거하며 탐색한다.

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

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

Comment thread climbing-stairs/njngwn.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
  • 설명: 주어진 코드는 피보나치 계열로 n번째 값을 점화식으로 계산하고, bottom-up 방식의 DP를 활용하여 시간 복잡도 O(n), 공간 복잡도 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.

🏷️ 알고리즘 패턴 분석

  • 패턴: Greedy, Hash Map / Hash Set, Two Pointers
  • 설명: 문자열 인코딩/디코딩에서 각 문자열을 길이와 구분자 '#'로 구분해 저장하고, 이를 순차적으로 파싱하는 방식으로 진행됩니다. 인코딩은 순회로, 디코딩은 포인터를 이동하며 원하는 부분을 잘라내는 구조로 구성되어 있습니다.

Comment thread group-anagrams/njngwn.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, Greedy
  • 설명: 문자열을 정렬한 결과를 키로 삼아 그룹화하는 방식으로 해시맵에 분류하는 패턴이다. 각 단어를 정렬한 뒤 같은 정렬 문자열을 가진 원소를 모으는 전형적인 해시 맵 기반 그룹화이다.

Comment thread valid-anagram/njngwn.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, Counter / Multiset
  • 설명: 두 문자열의 문자 빈도를 비교해 같은지 여부를 판단하는 방식으로, 해시 맵의 카운터를 이용한 비교 패턴에 해당합니다.

Comment thread word-break/njngwn.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, Backtracking
  • 설명: 해당 코드는 재귀와 캐시를 이용해 부분 문자열로 전체를 구성 가능한지 탐색하며, 중복 호출을 제거하는 방식으로 문제를 다룹니다. 부분 문제를 해결해 재귀적으로 연결하고 결과를 저장하여 효율을 높이는 다이나믹 프로그래밍/백트래킹의 조합에 속합니다.

@sangbeenmoon
sangbeenmoon self-requested a review July 25, 2026 12:58

@sangbeenmoon sangbeenmoon 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.

고생하셨습니다!

cache , extend() 등의 라이브러리를 활용해서 간결하게 풀어내신 점이 인상적이네요! 👍

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

2 participants