코린이의 소소한 공부노트

[LeetCode/Easy] 883. Projection Area of 3D Shapes 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 883. Projection Area of 3D Shapes

무지맘 2022. 12. 9. 22:31

1. Input

1) 크기가 n*n2차원 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;