[JAVA 문제 풀이] 325. 공원

프로그래머스 (340198)
Stupefyee's avatar
Jun 18, 2025
[JAVA 문제 풀이] 325. 공원
notion image
notion image
 

내가 작성한 코드

import java.util.*; class Solution { public int solution(int[] mats, String[][] park) { int n = park.length; // 행의 개수 int m = park[0].length; // 열의 개수 // 큰 돗자리부터 시도 Arrays.sort(mats); for (int i = mats.length - 1; i >= 0; i--) { int size = mats[i]; if (canPlace(size, park, n, m)) { return size; } } return -1; } // size x size 크기 돗자리를 깔 수 있는지 확인 private boolean canPlace(int size, String[][] park, int n, int m) { for (int i = 0; i <= n - size; i++) { for (int j = 0; j <= m - size; j++) { if (isEmptyArea(park, i, j, size)) { return true; } } } return false; } // (i, j)를 시작으로 size x size 구역이 모두 "-1"인지 확인 private boolean isEmptyArea(String[][] park, int row, int col, int size) { for (int i = row; i < row + size; i++) { for (int j = col; j < col + size; j++) { if (!park[i][j].equals("-1")) { return false; } } } return true; } }
Share article

stupefyee