Skip to content

[daehyun99] WEEK02 solutions#2687

Open
daehyun99 wants to merge 2 commits into
DaleStudy:mainfrom
daehyun99:W2
Open

[daehyun99] WEEK02 solutions#2687
daehyun99 wants to merge 2 commits into
DaleStudy:mainfrom
daehyun99:W2

Conversation

@daehyun99

@daehyun99 daehyun99 commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

답안 제출 문제

작성자 체크 리스트

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

검토자 체크 리스트

Important

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

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

@daehyun99 daehyun99 self-assigned this Jun 29, 2026
@daehyun99 daehyun99 marked this pull request as ready for review June 29, 2026 15:31
@github-actions github-actions Bot added the py label Jun 29, 2026
@dalestudy

dalestudy Bot commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

📊 daehyun99 님의 학습 현황

이번 주 제출 문제

문제 난이도 유형 분석
climbing-stairs Easy ⚠️ 유형 불일치
valid-anagram Easy ✅ 의도한 유형

누적 학습 요약

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

문제 풀이 현황

카테고리 진행도 완료
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 300 44 344 $0.000033
2 640 107 747 $0.000075
합계 940 151 1,091 $0.000107

@jthw1005 jthw1005 self-requested a review June 29, 2026 19:41

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, Divide and Conquer
  • 설명: 코드는 피보나치 값과 유사한 계단 오르기 문제를 수학적으로 조합으로 접근하며, 반복적으로 두 가지 선택을 조합해 총 경우의 수를 합산합니다. DP의 기본 아이디어와 재귀적 분할/합치기 구조를 보이며, 상태를 다수의 경우로 확장해 계산합니다.

📊 시간/공간 복잡도 분석

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

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

피드백: 조합 계산을 루프를 통해 매번 수행하므로 n에 대해 제곱 수준의 시간이 소요됩니다.

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

풀이 2: Solution.climbStairs — Time: O(n^2) / Space: O(1)
복잡도
Time O(n^2)
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
  • 설명: 두 문자열의 문자 빈도를 해시맵으로 비교해 동일 여부를 판단하는 해시맵 패턴과, 대응 문자를 한 쪽에서 증가시키고 다른 쪽에서 감소시키는 방식으로 두 문자열의 대응 관계를 확인하는 2포인터 비슷한 흐름이 결합된 풀이입니다.

📊 시간/공간 복잡도 분석

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

피드백: 최대 서로 다른 문자 유형 수에 따라 공간이 결정되며, 한 번의 순회로 문제를 해결합니다.

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

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

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.

collections 의 Counter가 기본적으로 defaultdict(int) 처럼 없는 키값에 대해 0을 보낸다는것을 알고 계실까요?
그걸 쓰시면 훨씬 간단하게 작성하실수 있으실거에요!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Counter는 해시 가능 객체를 세기 위한 dict 서브 클래스입니다.

@alphaorderly
오호 코테 풀면서 Counter을 자세히 알아본 적은 없었는데, dict의 한 종류였군요!
많이 유용할 것 같아요. 코멘트 감사합니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Solving

Development

Successfully merging this pull request may close these issues.

2 participants