[BOJ] 2003번 수들의 합2 - 구간합, 투포인터
https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 방법 1 : 구간합 n, m = map(int, input().split()) list = list(map(int, input().split())) # 합배열 만들기 total = 0 sum_list = [0] for i in range(len(list)): total += list[i] sum_list.append(total) # 구가합을 빼면서 m이랑 ..
[Python] 백준 1806 부분합
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 해결 첫번 째 시도 : 처음에는 길이가 아니라 가장 작은 값을 구하려고 했고, while문의 조건에서 틀린듯 하다 import sys n, s = map(int, sys.stdin.re..