728x90
-시간초과 난 코드
# 백준 누적 합 : 2559번 - 수열
n, k = map(int, input().split()) # 전체 날짜 수 n, 연속적인 날짜의 수 k
temp = list(map(int, input().split())) # 측정한 온도
temp_sum = [0] * n
for i in range(n-k+1):
for j in range(i, i+k):
temp_sum[i] += temp[j]
print(max(temp_sum))
-수정한 코드
# 백준 누적 합 : 2559번 - 수열
n, k = map(int, input().split()) # 전체 날짜 수 n, 연속적인 날짜의 수 k
temp = list(map(int, input().split())) # 측정한 온도
temp_sum = []
temp_sum.append(sum(temp[:k]))
for i in range(n-k):
temp_sum.append(temp_sum[i] - temp[i] + temp[k+i])
print(max(temp_sum))
for문을 한 번 돌리는 걸로 시간초과를 피할 수 있게 되었다.
# 파이썬 리스트 슬라이싱 Slicing :
리스트에서 원하는 범위를 지정해 추출할 수 있다.
[start:end:step] step만큼 문자 건너뛰면서 추출
[:] 처음부터 끝까지
[start:] strat 인덱스부터 끝까지
[:end] 처음부터 end-1 인덱스까지
[start:end] start부터 end-1 인덱스까지
'Algorithm > Baekjoon' 카테고리의 다른 글
#백준 14425, 파이썬 (0) | 2022.10.06 |
---|---|
#백준 11659, 파이썬, PyPy3와 Python3 차이점 (0) | 2022.09.27 |
#백준 10815, 파이썬, 순환 호출 이진 탐색 (0) | 2022.09.24 |
#백준 2750, 파이썬, 리스트 정렬하기, sort(), sorted() 함수 (0) | 2022.09.04 |
#백준 1436, 파이썬, in 연산자 (0) | 2022.08.26 |