본문 바로가기
CodingTest/Programmers

[프로그래머스] Lv.0 2차원으로 만들기*

by yoondoo 2022. 12. 15.
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];
}

값을 넣을 때 이런식의 방법도 있으니 참고 해봐야겠다.

반응형

댓글