본문 바로가기
  • Let's study
PS/Programmers

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

by 코딩고수이고파 2026. 7. 14.

문제

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

 

프로그래머스

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

programmers.co.kr

풀이

2차원 배열의 행의 개수는 num_list.length / n, 열의 개수는 n이므로 먼저 해당 크기의 2차원 배열을 생성했다.

이후 num_list를 처음부터 끝까지 한 번만 순회하면서 값을 2차원 배열에 넣었다.

  • i / n : 현재 값이 들어갈 행의 인덱스
  • i % n : 현재 값이 들어갈 열의 인덱스

즉, i가 0부터 증가할 때마다 같은 행에서는 열이 증가하고, n개의 값이 채워지면 다음 행으로 넘어가게 된다.

for (int i = 0; i < len; i++) {
    answer[i / n][i % n] = num_list[i];
}

코드

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

댓글