728x90
반응형

1. 오늘의 학습 키워드
동적계획법
2. 오늘의 학습 문제
문제
https://leetcode.com/problems/count-square-submatrices-with-all-ones/
코드
class Solution { public int countSquares(int[][] matrix) { int m = matrix.length; int n = matrix[0].length; // dimensions for matrix int[][] dp = new int[m][n]; int ans = 0; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (i == 0 || j == 0) { // cell is in first row or column dp[i][j] = matrix[i][j]; } else if (matrix[i][j] == 1) { dp[i][j] = Math.min(dp[i - 1][j], Math.min(dp[i][j - 1], dp[i - 1][j - 1])) + 1; } ans += dp[i][j]; } } return ans; } }
이중 for문을 통해 풀 수 있었다.
풀이를 참고했다.
3. 오늘의 회고
- 다시 풀어볼 것!
- 세션에서,
- 1. 문제에서 요구하는 것이 무엇인지 파악-> 이 문제의 경우 시간!
- 2. time에 대한 sort는 필요없었음.
- 3. 완전탐색을 먼저 생각하고, 범위가 안될 것 같으면 이분 탐색을 생각하기
728x90
반응형