방명록
- [프로그래머스 / 자바] 정사각형으로 만들기2023년 11월 22일 09시 08분 36초에 업로드 된 글입니다.작성자: 민발자728x90
문제
이차원 정수 배열 arr이 매개변수로 주어집니다. arr의 행의 수가 더 많다면 열의 수가 행의 수와 같아지도록 각 행의 끝에 0을 추가하고, 열의 수가 더 많다면 행의 수가 열의 수와 같아지도록 각 열의 끝에 0을 추가한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.
풀이
class Solution { public int[][] solution(int[][] arr) { int row = arr.length; int column= arr[0].length; int[][] answer = column >= row ? new int[column][column] : new int[row][row]; for(int i = 0; i < row; i++){ for(int j = 0; j < column; j++) { answer[i][j] = arr[i][j]; } } return answer; } }
arr 행 열 값을 변수로 저장
행하고 열 중 큰 값으로 answer 이차원 배열 생성(Math.Max() 메서드 사용하면 좀 더 깔끔하게 작성 가능할 듯)
arr의 행, 열 길이만큼 이중 반복문으로 넣어줌
참고할만한 다른 사람 풀이
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; } }
arraycopy() → arr[i] 줄을 0번째부터 array[i] 줄의 0번째칸으로 arr[0].lenght 길이만큼 복사
728x90'기록 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / 자바] 빈 배열에 추가, 삭제하기 (0) 2023.11.22 [프로그래머스 / 자바] 공백으로 구분하기 2 (0) 2023.11.22 [프로그래머스 / 자바] 배열만들기 1 (0) 2023.11.16 [프로그래머스 / 자바] 문자 개수 세기 (0) 2023.11.15 [프로그래머스 / 자바] 접두사인지 확인하기(startWith 시작 문자 확인) (0) 2023.11.14 다음글이 없습니다.이전글이 없습니다.댓글