2025/01/12 4

2140. Solving Questions With Brainpower

2140. Solving Questions With Brainpower class Solution: def mostPoints(self, questions: List[List[int]]) -> int: # brainpower[i]는 해당 문제를 푼 후 건너뛰어야 하는 문제의 개수를 의미 # 즉, 문제 i를 풀기로 선택하면, # 그 다음 연속된 brainpower[i]개의 문제는 풀 수 없음 n = len(questions) dp = [0] * (n+1) # dp[i]는 질문 i부터 끝까지 얻을 수 있는 최대 점수 for i in range(n - 1, -1, -1): # 역순으로 순회 point, b..

LeetCode/DP심화 2025.01.12

474. Ones and Zeroes

474. Ones and Zeroes https://youtu.be/miZ3qV04b1g?si=ieg8qGyjhzei0dQq class Solution: def findMaxForm(self, strs: List[str], m: int, n: int) -> int: # memoization dp = {} # 메모이제이션을 위한 딕셔너리 생성, 키는 (i, m, n), 값은 최대 부분집합 크기 def dfs(i, m, n): if i == len(strs): # 문자열 리스트를 모두 탐색했을 경우 return 0 # 부분집합을 더 이상 추가할 수 없으므로 0 반환 if (i, m, n) in ..

LeetCode/DP심화 2025.01.12

트리 종합 - leetcode (31)

B-트리(B-Tree)와 B+트리는 데이터베이스와 파일 시스템에서 효율적인 데이터 저장과 검색을 위해 사용되는 균형 트리 구조입니다. 그러나 LeetCode에서는 이러한 특정 트리 구조를 직접적으로 다루는 문제가 많지 않습니다. 대신, 이와 관련된 개념을 다룰 수 있는 이진 탐색 트리(BST), 균형 트리, 세그먼트 트리, 또는 **우선순위 큐(힙)**를 사용하는 문제들이 유사하게 학습할 수 있는 좋은 대안이 됩니다. B-트리와 B+트리의 특징은 주로 다음과 같습니다:B-트리: 균형 잡힌 다진 검색 트리로, 디스크 읽기 및 쓰기를 최적화합니다.B+트리: B-트리의 변형으로, 리프 노드가 연결 리스트 형태로 연결되어 순차 탐색에 효율적입니다. 추천 대체 문제들이진 탐색 트리(BST) 관련 문제:Conver..