[alphaorderly] WEEK 06 Solutions - #2777
Conversation
# Conflicts: # word-break/alphaorderly.py
📊 alphaorderly 님의 학습 현황이번 주 제출 문제
누적 학습 요약
문제 풀이 현황
🤖 이 댓글은 GitHub App을 통해 자동으로 작성되었습니다. 🔢 API 사용량 (gpt-5-nano)
|
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Two Pointers, Greedy
- 설명: 두 포인터(left, right)를 활용해 낮은 높이의 벽을 더 가까이 이동시키며 면적을 최대화하는 과정을 구현하므로 Two Pointers 패턴과, 매번 더 큰 면적을 위해 더 짧은 막대를 앞으로 옮기는 결정이 탐욕적(greedy)으로 보이므로 Greedy 패턴에도 해당합니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(1) |
피드백: 좌우 포인터를 활용해 짧은 쪽의 높이가 더 큰 방향으로 이동시키며 범위를 축소해 최댓값을 갱신합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Trie, Backtracking, Depth-First Search, Breadth-First Search
- 설명: 트라이(Trie) 구조를 활용해 단어 추가와 검색을 구현하고, '.' 와일드카드 처리에서 DFS 및 BFS 탐색을 사용합니다. 두 구현 모두 트리 기반 검색에 해당하며, 와일드카드 확장 시 백트래킹/분기 탐색이 포함됩니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(L) |
| Space | O(T) |
피드백: 글자 단위로 트라이에 노드를 생성하고 최종 노드에 end 플래그를 설정합니다. BFS로 '.' 처리 시 모든 자식 노드를 확장합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Binary Search, Dynamic Programming
- 설명: 주어진 코드에서 LIS의 길이를 찾기 위해 이분탐색으로 맥락상 수열의 순서를 유지하며 최적의 끝값을 갱신합니다. 이는 열거된 DP의 최적화 형태로, 각 단계에서 이분탐색으로 위치를 찾고 배열을 갱신하는 패턴입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n log n) |
| Space | O(n) |
피드백: 수열의 최소 가능한 꼬리 값을 유지해 LIS 길이를 얻습니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Two Pointers, Backtracking, Greedy, Dynamic Programming, Monotonic Stack, Hash Map / Hash Set, Binary Search, Divide and Conquer, Union Find, Trie, Bit Manipulation
- 설명: 코드는 매트릭스의 경계 순회(나선형 순회)를 구현하는데, 현재 위치와 방향을 유지하며 방문 여부를 표시해 다음 위치를 결정한다. 인접 방향으로의 전환과 경계 체크를 반복하는 방식은 두 포인터/슬라이딩 윈도우 느낌의 순회 로ジック에 가깝다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(N) |
| Space | O(N) |
피드백: 방향 벡터를 따라 조건에 맞춰 방문 여부를 관리하고 결과 배열에 누적합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
There was a problem hiding this comment.
🏷️ 알고리즘 패턴 분석
- 패턴: Stack/Queue, Hash Map / Hash Set, Greedy, Two Pointers
- 설명: 스택을 이용해 괄호의 짝을 맞추는 방식으로, 여는 괄호를 스택에 PUSH하고 닫는 괄호를 만날 때 스택의 맨 위와 매칭 여부를 확인하는 전형적인 스택 패턴입니다. 해시맵은 쌍을 빠르게 매칭하는 데 사용되며, 시간 복잡도는 O(n)이고 공간 복잡도는 O(n)입니다.
📊 시간/공간 복잡도 분석
| 복잡도 | |
|---|---|
| Time | O(n) |
| Space | O(n) |
피드백: 여는 괄호를 스택에 push하고 닫는 괄호가 올 때 매칭 여부를 확인합니다.
개선 제안: 현재 구현이 적절해 보입니다.
💡 풀이에 시간/공간 복잡도를 주석으로 남겨보세요!
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!