본문 바로가기
PS/백준

백준 10211번: Maximum Subarray python 파이

by 지기_ 2021. 8. 6.
반응형

1. 문제

https://www.acmicpc.net/problem/10211

 

10211번: Maximum Subarray

크기 N인 정수형 배열 X가 있을 때, X의 부분 배열(X의 연속한 일부분) 중 각 원소의 합이 가장 큰 부분 배열을 찾는 Maximum subarray problem(최대 부분배열 문제)은 컴퓨터 과학에서 매우 잘 알려져 있

www.acmicpc.net

 

2. 풀이

 

 

3. 구현

import sys
import math
# sys.stdin = open('input.txt')

t = int(sys.stdin.readline())
while t:
    t-=1
    n = int(sys.stdin.readline())
    lis = list(map(int, sys.stdin.readline().split()))
    pSum=[]
    cnt=0
    for item in lis:
        cnt+=item
        pSum.append(cnt)
    max_val=-math.inf
    for i in range(len(pSum)):
        for j in range(i, len(pSum)):
            max_val = max(pSum[j]-pSum[i]+lis[i], max_val)
    sys.stdout.write(str(max_val)+'\n')
    # print(max_val)

 

 

반응형

댓글