[LeetCode] Reshape the Matrix Java

dustle·2023년 5월 28일
1

Reshape the Matrix

기존 행렬에 있는 값을 순서대로 큐에 넣어서 r * c 로 만든 새로운 행렬에 순서대로 넣습니다.
새로운 행렬과 수가 맞지 않는 경우 기존 행렬을 반환해야 합니다.

import java.util.*;

class Solution {
    public int[][] matrixReshape(int[][] mat, int r, int c) {
        int[][] answer = new int[r][c];
        Queue<Integer> queue = new LinkedList<>();

        for(int i = 0; i < mat.length; i++) {
            for(int j = 0; j < mat[0].length; j++) {
                queue.offer(mat[i][j]);
            }
        }

        if(r*c != queue.size()) {
            return mat; 
        }

        for(int i = 0; i < r; i++) {
            for(int j = 0; j < c; j++) {
                answer[i][j] = queue.poll();
            }
        }

        return answer;
    }
}

0개의 댓글