1912

    1912번 파이썬

    ary를 deepcopy해서 새로운 리스트 p(dp를 이용하기 위한 리스트)를 만들어준다. 그리고 나서 두번째 인덱스부터 마지막 인덱스까지 이전 dp에 현재 ary의 값을 더한 값이 ary의 본연의 값보다 큰지 확인하고 크면 해당 dp 인덱스를 그 값으로 교체해준다! 그리고 최종적으로 연속된 값이 가장 큰 값을 p 리스트에서 출력해준다. import sys,copy input = sys.stdin.readline n = int(input()) ary=list(map(int,input().split())) p=copy.deepcopy(ary) for idx in range(1,n): if p[idx] < (p[idx-1]+ary[idx]): p[idx]=p[idx-1]+ary[idx] print(max(p))