Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.2 가장 큰 정사각형 찾기 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12905
- 🔑 다이나믹 프로그래밍 (DP)
- 점화식 : dp[i][j] = min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1]) + 1
- board[i-1][j-1] == 1일 때 dp배열의 왼쪽, 위, 왼쪽 위 중 최솟값 + 1을 dp[i][j]에 기록한다.
- board리스트(위) dp리스트(밑) 결과
def solution(board):
answer = 0
dp = [[0] * (len(board[0]) + 1) for _ in range(len(board) + 1)]
for i in range(1, len(board) + 1):
for j in range(1, len(board[0]) + 1):
if board[i-1][j-1] == 1:
dp[i][j] = min(dp[i][j-1], dp[i-1][j], dp[i-1][j-1]) + 1
if dp[i][j] > answer:
answer = dp[i][j]
return answer ** 2
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 디펜스 게임 [Python, 파이썬] (0) | 2024.07.25 |
---|---|
[프로그래머스] Lv.2 테이블 해시 함수 [Python, 파이썬] (0) | 2024.07.15 |
[프로그래머스] Lv.2 미로 탈출 [Python, 파이썬] (0) | 2024.05.23 |
[프로그래머스] Lv.3 섬 연결하기 [Python, 파이썬] (0) | 2024.04.19 |
[프로그래머스] Lv.2 무인도 여행 [Python, 파이썬] (0) | 2024.03.15 |
Comments