코딩 테스트 (Java)/코딩 기초 트레이닝 (프로그래머스)

181833. 특별한 이차원 배열 1

가지코딩 2025. 4. 23. 10:09

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


문제

정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요.

  • arr[i][j] (0 ≤ i, j < n)의 값은 i = j라면 1, 아니라면 0입니다.

 

제한사항

  • 1 ≤ n ≤ 100

 

입출력 예

n result
3 [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
6 [[1, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1]]
1 [[1]]

 

입출력 예 #1

  • 예제 1번의 n의 값은 3으로 다음과 같이 2차원 배열을 채울 수 있습니다.
i \ j 0 1 2
0 1 0 0
1 0 1 0
2 0 0 1
따라서 [[1, 0, 0], [0, 1, 0], [0, 0, 1]]을 return 합니다.

 

입출력 예 #2

  • 예제 2번의 n의 값은 6으로 다음과 같이 2차원 배열을 채울 수 있습니다.
i \ j 0 1 2 3 4 5
0 1 0 0 0 0 0
1 0 1 0 0 0 0
2 0 0 1 0 0 0
3 0 0 0 1 0 0
4 0 0 0 0 1 0
5 0 0 0 0 0 1
따라서 [[1, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0], [0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1]]을 return 합니다.

 

입출력 예 #3

  • 예제 1번의 n의 값은 1이고 다음과 같이 2차원 배열을 채울 수 있습니다.
i \ j 0
0 1
따라서 [[1]]을 return 합니다.

 


풀이

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;
    }
}

 

 

 


GitHub: https://github.com/gajicoding/coding_test/edit/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/181833.%E2%80%85%ED%8A%B9%EB%B3%84%ED%95%9C%E2%80%85%EC%9D%B4%EC%B0%A8%EC%9B%90%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%851


출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr