삐까냥의 파도타기
Q1915. 가장 큰 정사각형 본문
칸 네개를 확인하여, 최대 정사각형의 한변 길이를 저장하며 나가는 로직
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q1915 { static int[][] dp; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine());
int y = Integer.parseInt(st.nextToken()); int x = Integer.parseInt(st.nextToken()); dp = new int[y+1][x+1];
for (int i = 1; i <= y; i++) { st = new StringTokenizer(br.readLine()); String tempArray = st.nextToken(); for (int j = 1; j <= x; j++) { if (tempArray.charAt(j-1) == '1') { dp[i][j] = 1; } } } int maxValue = 0; for (int i = 1; i <= y; i++) { for (int j = 1; j <= x; j++) { if (dp[i][j] == 0) { continue; }
int min = dp[i-1][j-1]; min = Math.min(min, dp[i-1][j]); min = Math.min(min, dp[i][j-1]); min++;
dp[i][j] = min; if (maxValue < min) { maxValue = min; } } } System.out.println(maxValue*maxValue); } } |
'코딩 > 백준 알고리즘' 카테고리의 다른 글
Q2096. 내려가기 (0) | 2019.02.23 |
---|---|
Q1937. 욕심쟁이 판다 (0) | 2019.02.22 |
Q6359. 만취한 상범 (0) | 2019.02.21 |
Q1309. 동물원 (0) | 2019.02.21 |
Q11054. 가장 긴 바이토닉 부분 수열 (0) | 2019.02.19 |