[プログラマー/python]最大の正方形を検索
4678 ワード
🧑🏻💻 質問リンク
これは
動的計画で解く理由は,エッジの頂点を求めるだけであるため,動的計画法と考えられる.他の人の解題を見て
問題を解く
これは
동적계획법
を使用して解決された問題です.最初は問題をよく読んでいなかったので、変なことをして、もう一度問題を読み直してみると、数字が1の場合だけ正方形を計算していることがわかりました.これからは時間がないので、よく問題を読んで、よく考えてから問題を解く練習をします.動的計画で解く理由は,エッジの頂点を求めるだけであるため,動的計画法と考えられる.他の人の解題を見て
list comprehesion
で計算しますが、私はまだよく知らないので、コードを見ている人にもっと可読性のあるコードを見せたいので、2のfor文を使いました.コード#コード#
def solution(board):
answer = 1234
n = len(board) # 세로
m = len(board[0]) # 가로
temp = []
for i in range(1, n):
for j in range(1, m):
# 표에 1인 것만 계산
if board[i][j] == 1:
# 위, 옆, 왼쪽 대각선 위를 계산
board[i][j] = min(board[i-1][j], board[i][j-1], board[i-1][j-1]) + 1
for i in board:
for j in i:
temp.append(j)
answer = max(temp) ** 2
return answer
結果
Reference
この問題について([プログラマー/python]最大の正方形を検索), 我々は、より多くの情報をここで見つけました https://velog.io/@norighthere/프로그래머스-Python-가장-큰-정사각형-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol