-
[Python] 1806 부분 합Algorithm/백준 2023. 2. 10. 15:19
1. 문제 📚
https://www.acmicpc.net/problem/1806
2. 입출력 예 📋
3. 알고리즘 ✅
투포인터에 응용문제이다 입력이 100,000이 들어오니까 이중포문 돌리면 시간초과날것이다
투포인터 개념만 있다믄 쉽게 푸는 문제이다
4. 소스코드 💻
import sys input = sys.stdin.readline N, S = map(int, input().strip().split()) arr = list(map(int, input().strip().split())) start, end = 0, 0 internal_sum = 0 answer = 1e9 for start in range(N): while internal_sum < S and end < N: internal_sum += arr[end] end += 1 if internal_sum >= S: answer = min(end - start, answer) internal_sum -= arr[start] print(answer if answer != 1e9 else 0)
'Algorithm > 백준' 카테고리의 다른 글
[Python] 15686 치킨 배달 (0) 2023.02.16 [Python] 2096 내려가기 (0) 2023.02.10 [Python] 2457 공주님의 정원 (0) 2023.02.03 [Python] 2847 게임을 만든 동준이 (0) 2023.01.31 [Python] 1439 뒤집기 (0) 2023.01.31