Algorithm/COS
[COS Pro 1급, Python] 6차 5번 : 코인을 많이 획득하세요
JMcunst
2022. 3. 1. 11:48
728x90
반응형
문제 유형
한줄 수정(디버깅)
난이도
easy
Note
1. 문제 자체는 쉬웠다.
2. 하지만, 함수 구현 문제로 나올 수 있으니, 해당 로직은 알 필요가 있다.
3. coins[0][0] 부터 시작해서 오른쪽, 아래로 가면서 코인을 더해감.
Code
# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
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, "입니다.")
※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
※ 반례가 있으면 알려주시면 감사하겠습니다.
728x90
반응형