Skip to main content

2022.js

/** ------------------------------------------------------------------------------
*
* 2022. Convert 1D Array Into 2D Array
* Topics: Array
* https://leetcode.com/problems/convert-1d-array-into-2d-array/description/
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} original
* @param {number} m
* @param {number} n
* @return {number[][]}
*
* 첫 풀이
*/
var construct2DArray = function (original, m, n) {
const len = original.length

if (len !== m * n) return []

const answer = []
let arr = []
for (let i = 0; i < len; i++) {
arr.push(original[i])
if (arr.length === n) {
answer.push(arr)
arr = []
}
}

return answer
}

/**
* 반복문 줄임
*/
var goodAnswer = function (original, m, n) {
let result = []

// Check if valid
if (original.length !== m * n) return result

let startIndex = 0
for (let i = 0; i < m; i++) {
result.push(original.slice(startIndex, startIndex + n))
startIndex += n
}

return result
}

console.log()

/**
* 겉멋 풀이
*/

function construct2DArray(original, m, n) {
const l = original.length

if (m * n !== l) return []

const a = []

for (let i = 0; i < l; a.push(original.slice(i, (i += n))));

return a
}