[알고리즘문제풀기] 특별한 이차원 배열 1

silver's avatar
Sep 02, 2025
[알고리즘문제풀기] 특별한 이차원 배열 1

문제

내가 작성한 정답

// int 배열은 생성 시 0이 기본값으로 할당된다!!! class Solution { public int[][] solution(int n) { int[][] answer = new int[n][n]; for(int i=0; i<n; i++){ answer[i][i] = 1; } return answer; } } // 그래도 0 할당하는 코드 추가 import java.util.Arrays; class Solution { public int[][] solution(int n) { int[][] answer = new int[n][n]; for(int i=0; i<n; i++){ Arrays.fill(answer[i],0); answer[i][i] = 1; } return answer; } }

다른 사람들의 정답

import java.util.stream.IntStream; class Solution { public int[][] solution(int n) { return IntStream.range(0, n).mapToObj(i -> IntStream.range(0, n).map(j -> j == i ? 1 : 0).toArray()).toArray(int[][]::new); } } import java.util.*; class Solution { public int[][] solution(int n) { int[][] answer = new int[n][n]; // Arrays.setAll을 이용해 answer 배열의 각 인덱스(행)마다 람다 함수를 실행 Arrays.setAll(answer, i -> { int[] array = answer[i]; // 현재 인덱스 i에 해당하는 1차원 배열(행)을 가져옴 array[i] = 1; // 해당 행의 대각선 위치에 1을 할당 (i번째 열) return array; // 수정된 배열을 반환하여 answer[i]에 저장 }); return answer; // 반환: 대각선 원소만 1이고 나머지는 기본값 0인 2차원 배열 } }
Share article

silver