구간 내 고유 요소 개수 구하기 - 펜윅 트리와 오프라인 처리
이 문제는 주어진 배열의 특정 구간에 존재하는 서로 다른 숫자의 개수를 구하는 것을 목표로 합니다. 이를 해결하기 위해 펜윅 트리(Fenwick Tree)와 오프라인 쿼리 처리 기법을 활용합니다.
펜윅 트리를 사용할 때 핵심은 각 위치에서 해당 요소가 마지막으로 등장한 위치를 추적하고, 새로운 위치에서 등장할 경우 이전 위치의 값을 제거하고 현재 위치를 갱신하는 것 ...
7월 17일 22:50에 게시됨
스택 자료구조 완벽 가이드
스택은 한쪽 끝에서만 데이터의 삽입과 삭제가 가능한 선형 자료구조로, LIFO(Last In First Out) 구조를 따른다. 함수 호출 관리, 괄호 검사, 수식 계산 등 다양한 영역에서 핵심적인 역할을 수행한다.스택의 핵심 특성스택은 상단(top)과 하단(bottom)으로 구분되는 단일 접근점을 가진다. 모든 데이터 입출력은 상단에서만 발생하며, 이 특성으로 인해 데이터의 역순 처 ...
7월 2일 17:00에 게시됨
파이썬3 딕셔너리 기초 개념
딕셔너리의 기본 구조
딕셔너리는 키와 값으로 구성된 순서 없는 가변 컬렉션입니다. 파이썬에서는 중괄호 {}로 정의하며, 각 항목은 키: 값 형태로 표현됩니다.
car_info = {
"manufacturer": "Porsche",
"model": "911",
"production_year": 1963
}
print(car_info)
# 출력 결과: {'manufacturer': 'Porsche', 'model': '911', 'production_year': 1963}
...
6월 30일 22:50에 게시됨
Guava Table을 활용한 다차원 데이터 구성 기법
다차원 데이터 구조 설계
Guava의 Table은 기본적으로 행과 열로 구성된 2차원 자료구조입니다. 하지만 실무에서는 날짜, 지역, 카테고리, 지표 등 여러 축을 동시에 다루는 다차원 데이터를 자주 마주하게 됩니다. 이 경우 Table을 중첩하거나 다른 컬렉션과 조합하여 고차원 구조를 모방할 수 있습니다.
중첩 Table로 3차원 구현
가장 직관적인 방법은 Table의 값 타입 ...
6월 14일 19:02에 게시됨
KDOI-10 컵 냉각 문제 해결
KDOI-10 컵 냉각 문제 - 로그우 플랫폼 (luogu.com.cn)
O(n log n) 시간 복잡도를 가진 알고리즘으로, 각 노드에 대해 최대 및 최소 공기 배출 횟수를 계산합니다. 특정 노드의 최소 횟수가 최대 횟수를 초과하거나 부모 노드 u의 최대 횟수 계산 시 j에서 감소한 값이 허용 범위를 넘으면 냉각 불가능합니다. 그 외 경우는 가능합니다.
최대 횟수 계산은 이분 탐색을 활용 ...
6월 10일 00:28에 게시됨