500error
[Cos Pro 1급, Python] 6차 6번 : 만났을때 최대인 경우 본문
반응형
문제
4 x 4 크기인 정사각형 종이가 1 x 1 크기인 격자 칸으로 나누어져 있습니다. 이 종이를 가로축 혹은 세로축에 평행한 격자 선을 따라 한 번 접었을 때, 만나는 격자 칸에 적힌 숫자의 합이 최대가 되도록 하려 합니다. 종이를 접을 때는 만나는 격자 칸이 정확히 일치하도록 해야 합니다.
예를 들어 다음과 같이 4 x 4 크기인 종이가 있을 때,

종이는 점선 중 하나를 따라서 접을 수 있습니다. 이때, 붉은색 점선을 따라 종이를 접으면 36과 19가 적힌 칸이 정확히 만납니다. 두 숫자의 합은 55이며, 이때가 최댓값입니다.
4 x 4 크기인 정사각형 종이의 각 격자 칸에 적힌 숫자가 담긴 배열 grid, grid의 길이 grid_len이 매개변수로 주어질 때, 종이를 접었을 때 만나게 되는 격자 칸에 적힌 숫자의 합 중 최댓값을 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
코드
def solution(grid):
answer = 0
for i in range(4):
for j in range(4):
for k in range(j + 1, 4, 2):
answer = max(answer, max(grid[i][j] + grid[k][j], grid[j][k] + grid[k][i]))
return answer
grid = [[1, 4, 16, 1], [20, 5, 15, 8], [6, 13, 36, 14], [20, 7, 19, 15]]
ret = solution(grid)
print("solution 함수의 반환 값은", ret, "입니다.")
반응형
'알고리즘 > 파이썬' 카테고리의 다른 글
[Cos Pro 1급, Python] 6차 8번 : 지그재그 수열 (0) | 2024.03.03 |
---|---|
[Cos Pro 1급, Python] 6차 7번 : UP AND DOWN 게임 (0) | 2024.03.03 |
[Cos Pro 1급, Python] 6차 5번 : 코인을 많이 획득하세요 (0) | 2024.03.03 |
[Cos Pro 1급, Python] 6차 4번 : 카드 섞기 (0) | 2024.03.03 |
[Cos Pro 1급, Python] 6차 3번 : 큰수와 작은수의 차이 (0) | 2024.03.03 |
Comments