[プログラマー]掘削地Lv2 - Python


[プログラマー]掘削地Lv2
私の答え
def solution(land):
    answer, idx, column_size = 0, 0, 4
    is_eaten = [False] * column_size
    for line in land:
        max_num = -1
        for i in range(column_size):
            if is_eaten[i] is False:
                max_num = max(max_num, line[i])
            else:
                continue
        max_idx = line.index(max_num)
        is_eaten = [True if i is max_idx else False for i in range(column_size)]
        answer += max_num

    return answer
  • 失敗した私の答え
  • is可食のリストがあり、真のインデックスの値ではなくインデックスを最大値として実行されます.
  • 入力値については異なる確認が行われたが、いずれも結果は同じで正解かと思った.🙉
  • 他人の答え&感じ
    def solution(land):
         for i in range(1, len(land)):
             land[i][0] += max(max(land[i - 1][1], land[i - 1][2]), land[i - 1][3])
             land[i][1] += max(max(land[i - 1][0], land[i - 1][2]), land[i - 1][3])
             land[i][2] += max(max(land[i - 1][1], land[i - 1][0]), land[i - 1][3])
             land[i][3] += max(max(land[i - 1][1], land[i - 1][2]), land[i - 1][0])
    
        return max(land[-1])
  • DPでアクセスできるプールがあります.
  • 以前にJavaで解読した時も解読できなかったので、似たような方法を参考にしましたが、その間忘れてしまいました.🙉