[sonshn] WEEK 03 Solutions#2730
Merged
Merged
Conversation
Contributor
📊 sonshn 님의 학습 현황이번 주 제출 문제
누적 학습 요약
문제 풀이 현황
🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다. 🔢 API 사용량 (gpt-5-nano)
|
| * 시간 복잡도: O(n) | ||
| * 공간 복잡도: O(1) | ||
| */ | ||
| class Solution { |
Contributor
There was a problem hiding this comment.
저는 문자열을 파싱하고나서 유효성 검사하는 방법이었는데, 파싱과 유효성을 동시에 검사하면 공간복잡도를 좀 더 줄일 수 있는 것 같아 보여서 좋아보입니다 !!
Contributor
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Dynamic Programming
- 설명: 갈 수 있는 방법의 수를 피보나치 형태로 점화하는 DP 방식으로 해결합니다. dp 배열로 이전 두 단계의 합을 현재 단계로 확장하는 전형적인 동적계획법 패턴입니다.
📊 시간/공간 복잡도 분석
ℹ️ 이 파일에는 4가지 풀이가 포함되어 있어 각각 분석합니다.
풀이 1: Solution.climbStairs — Time: O(n) / Space: O(n)
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(n) |
피드백: 선형 시간으로 각 i에 대해 이전 두 값을 더해 계단 수를 구한다. 추가 공간으로 dp 배열이 필요하다.
개선 제안: 현재 구현이 적절해 보입니다.
풀이 2: sonshn.hammingWeight — Time: O( number of bits ) / Space: O(1)
| 복잡도 | |
|---|---|
| Time | O( number of bits ) |
| Space | O(1) |
피드백: 정수 비트 수만큼 루프를 돌며 각 비트를 확인한다. 공간은 상수이다.
개선 제안: 현재 구현이 적절해 보입니다.
풀이 3: Solution.isAnagram — Time: O(n log n) / Space: O(n)
| 복잡도 | |
|---|---|
| Time | O(n log n) |
| Space | O(n) |
피드백: 정렬을 이용한 비교로 구현되었으며, 두 문자열의 길이를 n이라고 하면 시간은 O(n log n)이다.
개선 제안: 현재 구현이 적절해 보입니다.
풀이 4: Solution.isPalindrome — Time: O(n) / Space: O(1)
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(1) |
피드백: 문자열을 한 번 스캔하며 필요없는 문자는 건너뛰고 소문자로 비교한다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
Contributor
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Bit Manipulation
- 설명: 정수의 이진 표현에서 비트를 직접 다루는 방식으로 1의 개수를 세는 패턴으로, 비트 연산과 오른쪽 쉬프트를 이용한 비트 카운팅이다.
Contributor
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Binary Search, Hash Map / Hash Set, Sorting
- 설명: 주요 아이디어는 문자열을 문자 배열로 변환하고 정렬한 뒤 서로 비교하는 방식으로 동일 문자 구성인지 판단한다. 정렬은 O(n log n) 시간, O(n) 공간을 사용한다.
Contributor
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Two Pointers, Greedy
- 설명: 문자열의 양 끝에서 문자들을 비교하며, 비문자도 건너뛰고 대소문자 구분 없이 비교하므로 두 포인터가 서로를 향해 진행하는 패턴이 핵심이다. 일반적인 구현으로는 Two Pointers에 해당하며, 간단한 비교 로직은 그 자체로 Greedy에 준하는 의사결정(필요한 문자만 비교)으로 볼 수 있음.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!