2차원 리스트 초기화, 최대/최소값

jiholee·2021년 12월 28일
0

코딩테스트 - python

목록 보기
9/10

알고리즘 문제를 풀다보면 2차원 리스트를 초기화를 해야 할 경우가 많이 있다.

d = [[0 for _ in range(W)] for _ in range(H)]


d = [[0] * W for _ in range(H)]

  • 2차원 리스트 선언만 하기
list = [[] * n for _ in range(n)]

14430 자원 캐기

n, m = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(n)]
dp = [[0] * m for _ in range(n)]

dp[0][0] = board[0][0]

for i in range(n):
    for j in range(m):
        if i == 0 and j == 0:
            continue
        if i == 0 and j - 1 > 0:
            dp[i][j] = dp[i][j-1] + board[i][j]
        elif j == 0 and i - 1 > 0:
            dp[i][j] = dp[i-1][j] + board[i][j]
        else:
            dp[i][j] = max(dp[i-1][j], dp[i][j-1]) + board[i][j]
ans = max(map(max, dp))
print(ans)

2차원 리스트에서 최대값, 최소값을 구할때 map함수를 사용하면 편하다.

mx = max(map(max, dp))

mn = min(map(min, dp))

0개의 댓글