[daehyun99] WEEK02 solutions#2687
Conversation
📊 daehyun99 님의 학습 현황이번 주 제출 문제
누적 학습 요약
문제 풀이 현황
🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다. 🔢 API 사용량 (gpt-5-nano)
|
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: 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) |
피드백: 이항계수 계산이 내부 루프들로 인해 비효율적이고, 매 반복마다 곱셈/나눗셈이 일어나므로 비용이 증가합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Hash Map / Hash Set, Two Pointers
- 설명: 두 문자열의 문자 빈도를 해시맵으로 비교해 동일 여부를 판단하는 해시맵 패턴과, 대응 문자를 한 쪽에서 증가시키고 다른 쪽에서 감소시키는 방식으로 두 문자열의 대응 관계를 확인하는 2포인터 비슷한 흐름이 결합된 풀이입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(k) |
피드백: 최대 서로 다른 문자 유형 수에 따라 공간이 결정되며, 한 번의 순회로 문제를 해결합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
collections 의 Counter가 기본적으로 defaultdict(int) 처럼 없는 키값에 대해 0을 보낸다는것을 알고 계실까요?
그걸 쓰시면 훨씬 간단하게 작성하실수 있으실거에요!
There was a problem hiding this comment.
Counter는 해시 가능 객체를 세기 위한 dict 서브 클래스입니다.
@alphaorderly
오호 코테 풀면서 Counter을 자세히 알아본 적은 없었는데, dict의 한 종류였군요!
많이 유용할 것 같아요. 코멘트 감사합니다!
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!