스티커 실버1 (백준, DP)
2023. 1. 28. 19:01ㆍ코딩 테스트 준비
728x90
반응형
import sys
input = sys.stdin.readline
for _ in range(int(input())):
n = int(input())
starr = []
for _ in range(2):
temp = list(map(int, input().split()))
starr.append(temp)
for i in range(1, n):
if i == 1:
starr[0][i] += starr[1][i-1]
starr[1][i] += starr[0][i-1]
else:
starr[0][i] += max(starr[1][i-1], starr[1][i-2])
starr[1][i] += max(starr[0][i-1], starr[0][i-2])
print(max(starr[0][-1],starr[1][-1]))
처음에는 dp테이블을 입력과 똑같은 크기로 초기화하고 i 이전 값들과 모두 비교해주는 과한 계산을 했다.
이후 대각선의 두번째 값만 한 번 더 비교해주면 되는 것을 깨달았다.
728x90
반응형
'코딩 테스트 준비' 카테고리의 다른 글
최단경로 골드4 (백준, 다익스트라) (0) | 2023.01.28 |
---|---|
컨베이너 벨트 위의 로봇 골드5 (백준, 구현) (0) | 2023.01.28 |
한국이 그리울 땐 서버에 접속하지 실버3 (백준, 문자열) (0) | 2023.01.28 |
타노스 실버 3 (백준, 문자열) (0) | 2023.01.27 |
로봇 청소기 골드 5 (백준, 구현) (0) | 2023.01.27 |