코딩테스트 풀이/JAVA
[LeetCode/Easy] 883. Projection Area of 3D Shapes
무지맘
2022. 12. 9. 22:31
1. Input
1) 크기가 n*n인 2차원 int 행렬 grid
2) grid[i][j]는 (i, j)에 쌓여있는 큐브의 수
2. Output
1) xy평면, yz평면, zx평면에 보이는 큐브의 수의 합
3. Constraint
1) n == grid.length == grid[i].length
2) 1 <= n <= 50
3) 0 <= grid[i][j] <= 50
4. Example
Input: grid = [[1,2],[3,4]] -> Output: 17
5. Code
1) 첫 코드(2022/07/26)
int m = grid.length;
int n = grid[0].length;
int xy=0, yz=0, zx=0;
for(int i=0 ; i<m ; i++)
for(int j=0 ; j<n ; j++)
if(grid[i][j]!=0)
xy++;
for(int i=0 ; i<m ; i++){
int max = 0;
for(int j=0 ; j<n ; j++)
if(grid[i][j]>max)
max = grid[i][j];
zx += max;
}
for(int i=0 ; i<n ; i++){
int max = 0;
for(int j=0 ; j<m ; j++)
if(grid[j][i]>max)
max = grid[j][i];
yz += max;
}
return xy+yz+zx;