Series
Algorithm Study
알고리즘 문제 풀이와 자료구조, 복잡도 분석을 정리한 글 44개.
-
덧셈 연산자(+) 없이 비트 XOR과 AND 연산으로 32비트 정수 덧셈을 구현하는 Python 풀이
-
두 대양의 경계에서 역방향 DFS 탐색으로 물이 흐를 수 있는 공통 좌표를 찾는 Python 풀이
-
빈도수 맵과 have/need 변수로 모든 문자를 포함하는 최소 부분 문자열을 찾는 슬라이딩 윈도우 Python 풀이
-
최댓값과 최솟값을 동시에 추적하는 동적 계획법(DP)으로 최대 곱 부분 배열을 구하는 Python 풀이
-
투 포인터(플로이드의 순환 탐지 알고리즘)로 연결 리스트 내 사이클 존재 여부를 판별하는 Python 풀이
-
홀수 및 짝수 길이의 중심 확장법(Expand Around Center)으로 팰린드롬 부분 문자열을 세는 Python 풀이
-
최다 빈도 문자를 추적하는 슬라이딩 윈도우로 최대 연속 부분 문자열 길이를 구하는 Python 풀이
-
2차원 DP 테이블로 두 문자열의 최장 공통 부분 수열 길이를 계산하는 Python 풀이
-
해시맵과 DFS 재귀로 무방향 연결 그래프를 깊은 복사(Deep Copy)하는 Python 풀이
-
비트 시프트와 마스킹 연산으로 32비트 부호 없는 정수를 뒤집는 Python 풀이
-
set과 sliding window로 중복 없는 가장 긴 부분 문자열을 찾는 Python 풀이
-
세 포인터로 next 연결을 제자리에서 뒤집는 반복형 Python 풀이
-
방향 배열과 방문 표시로 행렬을 시계 방향으로 순회하는 Python 풀이
-
각 위치에서 끝나는 증가 부분 수열의 길이를 저장하는 O(n²) DP Python 풀이
-
Trie에 단어를 저장하고 wildcard를 DFS로 탐색하는 WordDictionary Python 구현
-
양쪽 높이 중 작은 값을 기준으로 포인터를 이동하는 two pointers Python 풀이
-
여는 괄호를 Stack에 저장하고 닫는 괄호의 짝과 순서를 확인하는 Python 풀이
-
26칸 자식 배열과 is_end 플래그로 구현한 Trie 자료구조 풀이
-
문자열을 단어 사전으로 나눌 수 있는지 DP로 판별한 Python 풀이
-
문자열 길이와 구분자를 함께 기록해 문자열 목록을 인코딩하고 복원하는 Python 풀이
-
정렬한 문자열을 key로 삼아 anagram 문자열들을 묶는 Python 풀이
-
이전 날짜의 최저 가격을 갱신하며 최대 수익을 구하는 one-pass Python 풀이
-
남은 금액별 최소 동전 수를 저장하는 DFS memoization Python 풀이
-
보드에 방문 상태를 직접 표시하며 단어 경로를 탐색한 DFS backtracking Python 풀이
-
회전된 정렬 배열의 최솟값을 이진 탐색으로 찾은 Python 풀이
-
왼쪽과 오른쪽 서브트리의 깊이를 DFS로 계산한 Python 풀이
-
dummy node와 포인터 이동으로 두 정렬 연결 리스트를 합친 Python 풀이
-
문자열의 한 자리와 두 자리 해석을 재귀와 메모이제이션으로 계산한 Python 풀이
-
연속 부분 배열의 최대 합을 Kadane 알고리즘으로 구하는 Python 풀이
-
Combination Sum 문제를 backtracking과 start index 기준으로 정리한 Python 풀이
-
2로 나누면서 1비트의 개수를 세는 Python 풀이
-
문자 정제와 두 포인터로 회문을 확인하는 Python 풀이
-
BST가 정상적으로 구성되었는지 확인하는 DFS Python 풀이
-
3Sum 문제를 정렬과 two-sum 변형으로 정리한 풀이
-
Product of Array Except Self 문제를 left product와 right product 누적 방식으로 정리한 풀이
-
Climbing Stairs 문제를 재귀와 memoization 관점에서 정리한 풀이
-
Valid Anagram 문제를 정렬과 character count 관점에서 비교한 풀이
-
top-down DP와 memoization으로 각 집에서 훔칠지 건너뛸지 계산하는 풀이
-
set을 사용해 연속 수열의 시작점에서만 길이를 계산하는 풀이
-
빈도수를 세고 bucket sort 방식으로 상위 k개 원소를 찾는 풀이
-
Two Sum 문제를 brute force, two-pass hash map, one-pass hash map 관점에서 비교한 풀이
-
중복 원소 확인 문제를 brute force, sorting, hash set 관점에서 비교한 풀이
-
BST range sum 문제를 BFS, DFS, prefix sum 관점에서 정리한 풀이
-
환승 제한(K) 조건이 있을 때의 벨만-포드 변형 알고리즘