파이썬코딩테스트 리포지토리
- 코딩테스트 소개
- 코딩테스트 학습
- [x]자료구조
- [x]구간합
- 코딩테스트 학습
- 구간합 2
- 자료구조 다시
- 연결리스트
- 스택
- pythonds 스택 확인
- 코딩테스트 학습
- 자료구조
- 큐
- pythonds 큐 확인
- 이진 트리
- 삭제는 연결리스트 삭제와 유사
- 그래프
- 자료구조
- 코딩테스트 학습
- 자료구조
- 그래프 - DFS
- 재귀호출
- 정렬소개
- 자료구조
- 코딩테스트 학습
- 자료구조 / 알고리즘
- 정렬
- 검색
- 다이나믹 프로그래밍 / 피보나치 수열 비교
- 자료구조 / 알고리즘
- 코딩테스트 학습
- 자료구조
- deque(덱)
- 알고리즘
- 투포인터
- 슬라이딩윈도우
- 정렬
- 자료구조
# 백준 11003번 문제 - 최소값 찾기 1
from collections import deque
N, L = map(int, input().split()) # 12 3
mydeque = deque()
now = list(map(int, input().split())) # 1 5 2 3 6 2 3 7 3 5 2 6
# 새 값이 들어올 때 마다 정렬 대신 현재 수 보다 큰 값을 덱에서 제거
# => 시간복잡도 줄임
for i in range(N):
while mydeque and mydeque[-1][0] > now[i]:
mydeque.pop() # 빼기
mydeque.append((now[i], i))
if mydeque[0][1] <= i - L: # 범위를 멋어난 값도 덱에서 제거
mydeque.popleft()
print(mydeque[0][0], end=' ') # 무조건 최소값(min()과 동일)
- 코딩테스트 학습
- 자료구조
- 그래프
- PriorityQueue (우선순위 큐)
- heapq (힙큐) - 이진트리로 만들어지기 때문에 삭제시 들어있는 값의 구조가 변경될 수 있음
- 알고리즘
- 탐색 - DFS/BFS/이진탐색
- 그리디
- 정수론
- 자료구조
- 코딩테스트 학습
- 자료구조
- 알고리즘
- 정수론
- 그래프 활용
- 코딩테스트 학습
- 자료구조
- 알고리즘
- 최단거리 알고리즘
- 최소신장트리 MST
- 트리 순회
- 코딩테스트 학습
- 마무리
- 코딩테스트