Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 2차원으로 만들기 (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 2차원으로 만들기 (Java/자바)

luke-king 2026. 2. 10. 21:47

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

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


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

이번 문제는 프로그래머스 "2차원으로 만들기" 문제다.

문제 접근은 주어진 num_list[]의 값을 n 만큼 잘라 2차원 배열로 만드는 거다.

그럼 바로 풀이 해보겠다.

 

1. num_list.length / n 값을 rows 변수에 저장한다. 이는 2차원 배열의 행(row) 개수를 의미한다.

 

2. answer 배열의 크기를 [rows][n]으로 생성한다.

 

3. idx 변수를 선언한다. 이는 1차원 배열 num_list에서 현재 읽고 있는 인덱스 위치를 추적하기 위한 포인터 역할이다.

 

4. 2차원 배열에 값을 채우기 위해 이중 for문을 사용한다.

 

5. 내부 반복문에서 answer[i][j] = num_list[idx++]; 를 사용해 num_list의 값을 앞에서부터 순서대로 answer에 채운다.

그럼 끝이다.