Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 값/참조/주소에 의한 전달
- l-value참조자
- 백준 파이썬
- 회전 및 자리 이동 연산
- 괄호 검사 프로그램
- string유형
- 논리 연산
- IPv4 주소체계
- C언어 덱
- C언어 스택 연산
- c언어 괄호검사
- 원형 연결 구조 연결된 큐
- const화
- 운영체제 기능
- 유형 변환
- auto 키워드
- LAN의 분류
- 입출력 관리자
- 프로그래머스 배열만들기4
- 문제해결 단계
- 네트워크 결합
- 프로그래머스 푸드 파이트 대회
- 문자형 배열
- C언어 계산기 프로그램
- 알고리즘 조건
- getline()함수
- const l-value참조자
- 주기억장치
- 범위 기반 for문
- r-value참조자
Archives
- Today
- Total
chyam
[프로그래머스 Lv3, python] - 징검다리 건너기 본문

https://school.programmers.co.kr/learn/courses/30/lessons/64062
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
from collections import deque
def solution(stones, k):
# k 크기 윈도우에서 최댓값들 중 최솟값 찾기
dq = deque()
result = float('inf')
for i in range(len(stones)):
# 윈도우 크기 유지
if dq and dq[0] < i - k + 1:
dq.popleft()
# 현재 값보다 작은 인덱스 제거 (최댓값 유지하기 위해서.)
while dq and stones[dq[-1]] < stones[i]:
dq.pop()
dq.append(i)
# 윈도우가 k 크기가 되면 최댓값 확인
if i >= k - 1:
result = min(result, stones[dq[0]])
return result'프로그래머스 > LV3' 카테고리의 다른 글
| [프로그래머스 Lv3, python] - 보석 쇼핑 (0) | 2026.05.08 |
|---|---|
| [프로그래머스 Lv3, python] - 불량 사용자 (0) | 2026.05.06 |
| [프로그래머스 Lv3, python] - 베스트앨범 (1) | 2026.05.04 |
| [프로그래머스 Lv3, python] - 기지국 설치 (2) | 2026.05.03 |
| [프로그래머스 Lv3, python] - 단어 변환 (0) | 2026.04.29 |
