Algorithm/Programmers

[Programmers] Lv.0 / 정사각형으로 만들기 / Java

unknownomad 2024. 3. 14. 23:08

문제

 

풀이

import java.util.Arrays;

class Solution {
    public int[][] solution(int[][] arr) {
        
        int rows = arr.length;
        int cols = 0;
        for(int[] row : arr) {
            cols = Math.max(cols, row.length);
        }
        
        int[][] newArr = new int[Math.max(rows, cols)][Math.max(rows, cols)];
        
        for(int i = 0; i < newArr.length; i++) {
            if(i < arr.length) {
                for(int j = 0; j < newArr[i].length; j++) {
                    if(j < arr[i].length) {
                        newArr[i][j] = arr[i][j];
                    } else {
                        newArr[i][j] = 0;
                    }
                }
            } else {
                Arrays.fill(newArr[i], 0);
            }
        }
        return newArr;
    }
}
class Solution {
    public int[][] solution(int[][] arr) {
    
        int max = Math.max(arr.length, arr[0].length);
        int[][] array = new int[max][max];

        for (int i = 0; i < arr.length; i++) {
            System.arraycopy(arr[i], 0, array[i], 0, arr[0].length);
        }
        return array;
    }
}
class Solution {
    public int[][] solution(int[][] arr) {
    
        int max = Math.max(arr.length, arr[0].length);
        int[][] result = new int[max][max];
        
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[0].length; j++) {
                result[i][j] = arr[i][j];
            }
        }
        return result;
    }
}

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181830