반응형
Notice
Recent Posts
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

500error

[Cos Pro 1급, Python] 6차 5번 : 코인을 많이 획득하세요 본문

알고리즘/파이썬

[Cos Pro 1급, Python] 6차 5번 : 코인을 많이 획득하세요

Internal Server Error 2024. 3. 3. 16:04
반응형

문제

A 게임은 4x4 격자 모양의 보드의 가장 왼쪽 위에서 가장 오른쪽 아래로 말을 이동시키면서 각 구역에 있는 코인을 획득하는 게임입니다. 이때, 말은 오른쪽 또는 아래쪽으로만 이동할 수 있습니다.
예를 들어, 보드가 아래와 같다면
아래의 경우가 코인을 최대로 획득할 수 있는 경우이고 이때 획득하는 코인은 38입니다.
 
각 구역에서 획득할 수 있는 코인 양을 담은 2차원 배열 board, board의 길이 board_len이 매개변수로 주어질 때, 최대로 획득할 수 있는 코인의 양을 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 한 줄만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.

 

 

 

코드

def solution(board):
	coins = [[0 for c in range(4)] for r in range(4)]
	for i in range(4):
		for j in range(4):
			if i == 0 and j == 0:
				coins[i][j] = board[i][j]
			elif i == 0 and j != 0:
				coins[i][j] = board[i][j] + coins[i][j-1]
			elif i != 0 and j == 0:
				coins[i][j] = board[i][j] + coins[i-1][j]
			else:
				coins[i][j] = board[i][j] + max(coins[i-1][j], coins[i][j-1])
	answer = coins[3][3]
	return answer
   
   
   
   
   
board = [[6, 7, 1, 2], [3, 5, 3, 9], [6, 4, 5, 2], [7, 3, 2, 6]]
ret = solution(board)

print("solution 함수의 반환 값은", ret, "입니다.")
반응형
Comments