정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요.
- arr[i][j] (0 ≤ i, j < n)의 값은 i = j라면 1, 아니라면 0입니다.
- 1 ≤ n ≤ 100
nresult
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]] |
제출 답안 :
class Solution {
public int[][] solution(int n) {
int[][] answer = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == j) {
answer[i][j] = 1;
continue;
}
answer[i][j] = 0;
}
}
return answer;
}
}
i 와 j 가 같을 때 1을 넣고, 다를때 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;
}
}
하지만 int형은 기본값이 0 이기 때문에, 1만 넣어주면 되는 문제였다.
2중 반복문을 사용하여 [ i ][ j ]에서 i == j 를 찾는 대신, [ i ][ i ]를 사용하여 좀 더 간결하게 해줄 수 있었다.
'Etc. > 개인공부' 카테고리의 다른 글
[프로그래머스 / Java] [level 0] 배열 비교하기 (0) | 2025.01.01 |
---|---|
[프로그래머스 / Java] [level 0] 배열의 길이에 따라 다른 연산하기 (0) | 2024.12.30 |
[프로그래머스 / Java] [level 0] 부분 문자열 이어 붙여 문자열 만들기 (StringBuilder, StringBuffer) (0) | 2024.12.29 |