파이썬 코딩테스트 리포지토리
- 코딩테스트 소개
- 코딩테스트 학습
- 자료구조 - 배열/리스트
- 구간합
! 파이썬 파일명에는 _만 사용할 것!!
- 코딩테스트 학습
- [x]구간합 2
- 자료구조 다시
- 연결리스트
- 스택
- pythonds 스택 확인!
- 코딩테스트 학습
- 자료구조
- 큐
- pythonds 큐 확인
- 이진 트리
- 삭제는 연결리스트 삭제와 유사
- 그래프
- 자료구조
- 코딩테스트 학습
- 자료구조
- 그래프 - DFS
- 재귀호출
- 정렬 소개
- 자료구조
- 코딩테스트 학습
- 자료구조 / 알고리즘 (정렬, 다이나믹프로그램 -> 알고리즘 (자료구조x)
- 정렬
- 검색
- 다이나믹 프로그래밍 / 피보나치 실행시간 비교
- 자료구조 / 알고리즘 (정렬, 다이나믹프로그램 -> 알고리즘 (자료구조x)
- 코딩테스트 학습
- 자료구조
- deque (덱)
- 알고리즘
- 투포인터
- 슬라이딩윈도우
- 정렬
- 자료구조
# 백준 11003 - 최솟값찾기 1
from collections import deque
# == from pythonds.basic.deque import Deque
mydeque = deque()
N, L = map(int, input().split()) # 12 3
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()과 동일)- 코딩테스트 학습
- 자료구조
- 그래프
- PrioriyQueue
- heapq (힙큐) - 이진트리 구성으로 들어있는 값의 구조가 삭제시 변경될 수 있음
- 알고리즘
- 탐색 - DFS/BFS
- 그리디
- 정수론
- 자료구조
- 코딩테스트 학습
- 자료구조
- 알고리즘
- 정수론
- 그래프 활용
- 코딩테스트 학습
- 자료구조
- 알고리즘
- 최단거리 알고리즘
- 최단거리 알고리즘
- 트리 순회
- 코딩테스트 학습
- 알고리즘
- 세그먼트 트리
- 코딩테스트 진행
- 알고리즘