본문 바로가기
하루하루/프로그래머스 문제풀이

[Lv.0 - Java] 120842. 2차원으로 만들기

by 키튼햄 2023. 12. 22.

문제

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

 

 

 

 

풀이

1. 2차원 배열로 변경해야하기 때문에 먼저 새로운 2차원 배열을 생성할때 길이를 구했다.

2. 행은 row 변수로 num_list 배열에서 n개씩 묶기 때문에 num_list.length/n 으로 길이를 구했다.

3.  int[][] answer = new int[row][n] 으로 2차원 배열을 새로 생성했다.

4. for문을 이용하여 행과 열의 반복을 만들었고 answer[i][j]의 자리에 num_list[idx]의 값이 저장되도록 했다. 이때 idx의 값이 반복될때마다 증가해야 하므로 for문 바깥에 idx 변수를 0으로 초기화하여 선언해주고, num_list[idx++] 로 해주었다.

5. 그리고 answer값을 반환하였다.

 

 

코드

class Solution {
    public int[][] solution(int[] num_list, int n) {
        int len = num_list.length;
        int row = len/n;
        int idx = 0;
        int[][] answer = new int[row][n];
        for(int i=0; i<row; i++){
            for(int j=0; j<n; j++){
                answer[i][j] = num_list[idx++];
            }
        }
        return answer;
    }
}