20231121

bomb·2023년 11월 21일

class Solution
{
public static int solution(int[][] board) {
int rowCol = Math.min(board.length, board[0].length); // 가로 세로 중 작은 것.

int answer = 0;

for (int i = 0; i < board.length; i++) {
  for (int j = 0; j < board[0].length; j++) {
    // 일단 1이어야 하고
    if (board[i][j] != 1) {
      continue;
    }

    for (int k = 1; k < rowCol; k++) {
      if (i + k > board.length - 1 || j + k > board[0].length - 1) {
        break;
      }

      boolean notOne = false;

      // k사이즈만큼 전체 1인지 확인
      for (int a = i; a < i + k; a++) {
        for (int b = j; b < j + k; b++) {

          if (board[a][b] != 1) {
            notOne = true;
            break;
          }
        }

        if (notOne) {
          break;
        }
      }


      answer = Math.max(answer, k * k); // 둘중 최대값
    }
  }
}

return answer;

}
}

0개의 댓글