이 문제는 1차원 배열이 주어지면 2차원 배열로 바꾸는 문제입니다.
즉, 1차원 배열을 2차원 배열처럼 사용할 줄 알면 풀 수 있는 문제입니다.
1D Array로 2D Array처럼 사용하기 위해서는 Index를 다음과 같이 사용하면 됩니다.
어떤 2차원 index (x, y)의 1차원 index는 x + width * y"와 같습니다. (y * width + x)
vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {
if (original.size() != m * n) // 두 크기가 같지 않으면 변환 불가
return {};
vector<vector<int>> ans(m, vector<int>(n, 0));
for (int i = 0; i < m; i++) // row
for (int j = 0; j < n; j++) // col
ans[i][j] = original[i * n + j];
return ans;
}
'Algorithm 문제풀이 > Leetcode' 카테고리의 다른 글
(Easy - BFS) Leetcode - 111. Minimum Depth of Binary Tree (0) | 2024.06.19 |
---|---|
(Easy - BFS) Leetcode - 637. Average of Levels in Binary Tree (0) | 2024.06.19 |
(Easy - Arrays) Leetcode - 136. Single Number (0) | 2024.06.17 |
(Easy - Arrays) Leetcode - 268. Missing Number (0) | 2024.06.16 |
(Easy - Arrays) Leetcode - 217. Contains Duplicate (0) | 2024.06.13 |