inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 212. 정사각형으로 만들기

    프로그래머스 (181830)
    Stupefyee's avatar
    Stupefyee
    Apr 21, 2025
    [JAVA 문제 풀이] 212. 정사각형으로 만들기
    Contents
    내가 작성한 코드다른 사람의 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/181830
    notion image
     

    내가 작성한 코드

    class Solution { public int[][] solution(int[][] arr) { if (arr.length > arr[0].length) { int[][] answer = new int[arr.length][arr.length]; for (int i = 0; i < arr.length; i++) { System.arraycopy(arr[i], 0, answer[i], 0, arr[i].length); } return answer; } if(arr.length < arr[0].length) { int[][] answer = new int[arr[0].length][arr[0].length]; for (int i = 0; i < arr.length; i++) { System.arraycopy(arr[i], 0, answer[i], 0, arr[i].length); } return answer; } return arr; } }
    • System.arraycopy(arr[i], 0, answer[i], 0, arr[i].length);
      • arr[i]: 복사할 원본 배열의 참조. i번째 내부 배열을 복사
      • 0: 원본 배열에서 복사를 시작할 인덱스
      • answer[i]: 복사 대상 배열의 참조. i번째 내부 배열에 붙여넣기
      • 0: 대상 배열에서 복사를 시작할 인덱스
      • arr[i].length: 복사할 요소의 개수
     

    다른 사람의 코드

    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; } }
    • 1차원 배열과 2차원 배열의 길이를 비교애 더 큰것을 새로운 배열의 길이로 사용후 복제
    Share article
    Contents
    내가 작성한 코드다른 사람의 코드

    stupefyee

    RSS·Powered by Inblog