자기개발👨‍💻/코딩 알고리즘

[python] 백준 1912 연속합 (런타임에러)

천숭이 2020. 7. 8. 15:45
import math
inp = int(input())
numbers=input()
number = numbers.split(' ')
number = list(map(int,number))
#윗줄 완성  정수형 리스트
pos=0
summ=0
result =1
b=max(number)
for i in range(int(math.factorial(inp)/inp)):
    for j in range(pos,len(number)):
        summ+=number[j]
        b=max(summ,b)
    pos+=1
    summ=0
    
print(b)

역시 다른 기발한 방법이 있는건가,,,, 나는 점점 늘려가면서 확인하는 방식밖에 안떠오른다 ㅠ

 

출력:

(중간에 summ을 출력하면서 과정까지 봤음)

10
2 1 -4 3 4 -4 6 5 -5 1
sum :  2
sum :  3
sum :  -1
sum :  2
sum :  6
sum :  2
sum :  8
sum :  13
sum :  8
sum :  9
sum :  1
sum :  -3
sum :  0
sum :  4
sum :  0
sum :  6
sum :  11
sum :  6
sum :  7
sum :  -4
sum :  -1
sum :  3
sum :  -1
sum :  5
sum :  10
sum :  5
sum :  6
sum :  3
sum :  7
sum :  3
sum :  9
sum :  14 !! 
sum :  9
sum :  10
sum :  4
sum :  0
sum :  6
sum :  11
sum :  6
sum :  7
sum :  -4
sum :  2
sum :  7
sum :  2
sum :  3
sum :  6
sum :  11
sum :  6
sum :  7
sum :  5
sum :  0
sum :  1
sum :  -5
sum :  -4
sum :  1
14