반응형
2096번: 내려가기
첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다.
www.acmicpc.net
import sys
def use_dp(fun, dp):
x1 = board_r[0] + fun(dp[:2])
x2 = board_r[1] + fun(dp)
x3 = board_r[2] + fun(dp[1:])
return [x1, x2, x3]
if __name__ == '__main__':
N = int(sys.stdin.readline())
max_dp = [0]*3
min_dp = [0]*3
for r in range(N):
board_r = list(map(int, sys.stdin.readline().split()))
max_dp = use_dp(fun=max, dp=max_dp)
min_dp = use_dp(fun=min, dp=min_dp)
print(max(max_dp), min(min_dp))
문제에 메모리 제한이 있어,
min과 max에 대해 1x3 리스트를 활용하여 문제를 풀었습니다.
반응형