728x90
반응형
첫번쨰 코드
오른쪽부터 시작한 합과 왼쪽부터 시작한 합을 모두 고려해야 하는 문제이다.
나도 처음에 단순하게 점화식을 작성했는데, 책에서 명확하게 이렇게 세우면 안된다는 예시였다 ㅎㅎ;
하여 점화식 아이디어와 코드는 책을 참고하였다.
import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
left = [0] * n
left[0] = a[0]
result = left[0]
for i in range(1, n):
left = max(a[i], left[i-1] + a[i])
result = max(result, left[i])
right = [0] * n
right[n-1] = a[n-1]
for i in range(n-2, -1, -1):
right[i] = max(a[i], right[i-1] + a[i])
for i in range(1, n-1):
temp = left[i-1] + right[i-1]
result = max(result, temp)
print(result)
통과!
아직은 이해가 버거워도 괜찮아!!
다양한 아이디어로 풀도록!
다음에 다시 풀어보자!
링크
반응형
'코딩 테스트 > do it! 알고리즘 코딩테스트' 카테고리의 다른 글
091 가장 큰 정사각형 (0) | 2024.09.05 |
---|---|
090 LCS 2 (4) | 2024.09.03 |
088 쉬운 계단 수 (0) | 2024.08.29 |
087 2×n 타일링 (0) | 2024.08.29 |
086 이친수 (0) | 2024.08.27 |