일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- python3
- 소수판별
- appendleft
- 연관관계
- LCM
- 합 구하기
- 백준
- deque
- Java
- 파이썬
- 프로그래머스
- 소수찾기
- c#
- 우선순위큐
- C#강의
- DP
- 브루투포스
- mvc
- pypy3
- JPA
- spring
- 누적합
- 인프런
- 완전탐색
- Python
- unity
- BFS
- 1일1솔
- 그리디 알고리즘
- popleft
Archives
- Today
- Total
jae_coding
(백준 알고리즘 문제풀이) 10211번 Maximum Subarray 본문
반응형
문제
문제 접근
- T: 테스트 케이스의 수
- N: 배열의 크기 (1 <= N <= 1000)
- N 다음줄에는 배열
- 첫번째 루프에 배열 0번째부터 i번째 까지 몇개씩 누적합을 구하는지 인덱싱해주기
- 두번째 배열에는 배열의 첫번째 부분은 빼주고 마지막 배열은 더해주면서 ans값과 비교하기
코드
import sys
T = int(sys.stdin.readline())
for _ in range(T):
N = int(sys.stdin.readline())
lst = list(map(int, sys.stdin.readline().split()))
ans = -10000001
for i in range(1, N+1):
result = sum(lst[:i])
if ans < result:
ans = result
for j in range(1, N-i+1):
result = result - lst[j-1] + lst[j+i-1]
if ans < result:
ans = result
print(ans)
느낀점
ans에 -1,000,001을 지정해주는 것을 생각을 못하여 시간이 좀 걸린문제이다.
문제의 조건에도 집중하자
반응형
'알고리즘 문제 > 백준' 카테고리의 다른 글
(백준 알고리즘 문제풀이)2015번 수들의 합 4 (0) | 2022.07.17 |
---|---|
(백준 알고리즘 문제풀이) 3020번 개똥벌레 (0) | 2022.07.17 |
(백준 알고리즘 문제풀이) 2559번 수열 (0) | 2022.07.15 |
(백준 알고리즘 문제풀이)19638번 센티와 마법의 뿅망치 (0) | 2022.07.15 |
(백준 알고리즘 문제풀이) 2665번 미로만들기 (0) | 2022.07.14 |
Comments