728x90
class Solution {
public int[][] solution(int[] num_list, int n) {
int[][] answer =new int[num_list.length/n][n];
int idx = 0;
for(int i=0; i<num_list.length/n;i++) {
for(int j=0; j<n ; j++) {
answer[i][j] = num_list[idx];
idx++;
}
}
return answer;
}
}
1차원 배열을 문제에 주어진 규칙대로 2차원 배열로 만드려면
1. 주어진 n이 열의 길이가 된다.
2. 배열의 길이를 n으로 나누면 행의 길이가 된다.
나머지는 for문을 이용해 원래 있던 num_list배열의 값을 새로운 2차원배열 answer에 각각 넣어 주면 된다.
for(int i=0; i<length; i++){
answer[i/n][i%n]=num_list[i];
}
값을 넣을 때 이런식의 방법도 있으니 참고 해봐야겠다.
반응형
'CodingTest > Programmers' 카테고리의 다른 글
| [프로그래머스] Lv.0 가까운 수 (1) | 2022.12.15 |
|---|---|
| [프로그래머스] LV.0 k의 개수 (0) | 2022.12.15 |
| [프로그래머스] Lv.0 팩토리얼 (0) | 2022.12.01 |
| [프로그래머스] Lv.0 A로 B 만들기 (0) | 2022.12.01 |
| [프로그래머스] Lv.0 모스부호 (1) | 2022.12.01 |
댓글