Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.0_Java] 정사각형으로 만들기 본문

알고리즘테스트/Programmers

[Lv.0_Java] 정사각형으로 만들기

코딩거인 2023. 8. 17. 20:09
728x90
class Solution {
    public int[][] solution(int[][] arr) {
        int x = arr.length> arr[0].length ? arr.length:arr[0].length;
        int y = arr.length> arr[0].length ? arr.length:arr[0].length;
        
        int[][] answer = new int [x][y];
        
        for(int i = 0; i < arr.length; i++){
            for(int j = 0; j < arr[0].length; j++){
                answer[i][j] = arr[i][j];
            }
        }
        return answer;
    }
}

변수 x y 값을 만든 후 삼항연산자로 x와 y 의 길이를 더 큰 값으로 통일 시킨 뒤 answer 의 길이에다가 할당해주고 for 문을 활용하여 arr [i][j] 값을 가져와서 return 해주었다. 

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;
    }
}
System.arraycopy <- arr[i] 줄을 0번째부터 array[i] 줄의 0번째칸으로 arr[0].lenght 길이만큼 복사해서 넣는다

다른사람들 풀이 보는게 은근 재밌다 나랑 같은 결과를 도출하면서 다른 코드를 작성하는게 흥미롭다!!

728x90

'알고리즘테스트 > Programmers' 카테고리의 다른 글

[Lv.1_Java] 두 개 뽑아서 더하기  (0) 2023.08.17
[Lv.1_Java] 같은 숫자는 싫어  (0) 2023.08.17
[Lv.0_Java] 커피심부름  (0) 2023.08.17
[Lv.0_Java] 1로 만들기  (0) 2023.08.17
[Lv.0_Java] 날짜 비교하기  (0) 2023.08.17