🔗 Problem Link
❔Thinking
- N행 4열로 이루어진 땅을 차례로 내려오며, 각 칸에 적힌 숫자를 더해 최대로 만든다.
- 직전 행의 열과 같은 열을 선택할 수 없다.
💻 Solution
def solution(land):
answer = 0
for i in range(1, len(land)):
for j in range(len(land[0])):
land[i][j] += max(land[i-1][:j]+land[i-1][j+1:])
return max(land[-1])
🗝️ keypoint
- 이전 행의 같은 열 값을 제외한 칸들 중 가장 큰 값을 더해간다.
- 직전 행의 열만 피하면 되고, max()와 slicing을 통해 해당 행의 최대값을 찾는다.
'코딩테스트 > Python' 카테고리의 다른 글
[Baekjoon] 1439번 - 뒤집기 (0) | 2022.09.27 |
---|---|
[Programmers] Level 2. 모음사전 (0) | 2022.09.27 |
[Programmers] Level 2. 파일명 정렬 (1) | 2022.09.27 |
[LeetCode] 409. Longest Palindrome (0) | 2022.09.26 |
[Programmers] Level 2. 방문 길이 (0) | 2022.09.25 |