SWEA(Python) 풀이/D3

SWEA[D3] (Python) 5642번 [Professional] 합 풀이

개발윗미 2022. 4. 29. 18:56

Python으로 구현한 5642번 [Professional] 합 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AWXQm2SqdxkDFAUo&categoryId=AWXQm2SqdxkDFAUo&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=3&pageSize=10&pageIndex=11 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


t = int(input())

for tc in range(1, t + 1) :
    n = int(input())
    data = list(map(int, input().split()))
    max_value = data[0]

    for i in range(n-1) :
        if data[i] >= 0 and (data[i] + data[i+1]) >= 0 :
            data[i+1] += data[i]
        if data[i+1] > max_value :
            max_value = data[i+1]

    print('#%d %d' % (tc, max_value))

 

1. n개의 정수값을 입력받아 data 리스트에 할당하고 가장 첫번째 값을 max_value에 할당한다.

 

2. 반복문을 통해 만약 현재의 값이 음수가 아니고 다음 값과 더한 값도 음수가 아닐 경우 두 수의 합을 다음 값에 할당한다.

 

3. 이후 다음 값(data[i+1])이 max_value 보다 크다면 max_value를 해당 값으로 갱신한다.

 

4. 반복문이 종료되면 최종적으로 해당 테스트 케이스 번호와 함께 max_value 값을 출력한다.