[BOJ] 2828 - 사과 담기 게임 (🥈 실버 5티어, 슬라이딩 윈도우 알고리즘 🌟)
사용 언어: Python3
문제
풀이
나의 풀이
N, M = map(int, input().split())
J = int(input())
apple = [int(input()) for _ in range(J)]
# 바구니 시작인덱스, 끝인덱스
lp, rp = 1, M
cnt = 0
for a in apple:
while True:
if lp <= a <= rp: # 바구니에 포함되면 다음 사과로 넘어가기
break
cnt += 1
# ✅ 왼쪽 방향으로 슬라이딩
if a < lp:
lp, rp = lp-1, rp-1
# ✅ 오른쪽 방향으로 슬라이딩
elif a > rp:
lp, rp = lp+1, rp+1
print(cnt)
- 테스트 케이스: 성공
- 제출 결과: 성공
- 슬라이딩 윈도우 알고리즘에 대해 궁금하다면 이 글을 참고하자!
💛 개인 공부 기록용 블로그입니다. 👻