From 8d41d3f503d604d8196f16a1f739fda2a9fbcdf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A7=84=ED=95=98=EB=A6=BC?= Date: Sun, 20 Jun 2021 16:41:07 +0900 Subject: [PATCH] solution_169,566,985 --- JinHaLim/Array/solution_169.js | 23 +++++++++++++ JinHaLim/Array/solution_566.js | 61 ++++++++++++++++++++++++++++++++++ JinHaLim/Array/solution_985.js | 36 ++++++++++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 JinHaLim/Array/solution_169.js create mode 100644 JinHaLim/Array/solution_566.js create mode 100644 JinHaLim/Array/solution_985.js diff --git a/JinHaLim/Array/solution_169.js b/JinHaLim/Array/solution_169.js new file mode 100644 index 0000000..e42e8e0 --- /dev/null +++ b/JinHaLim/Array/solution_169.js @@ -0,0 +1,23 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var majorityElement = function(nums) { + let maximum = 0; + let num = 0; + let majority = nums.reduce((acc,curr) => { + if (acc.has(curr)) { + acc.set(curr,acc.get(curr)+1); + } + else{ + acc.set(curr,1); + } + if(acc.get(curr) > maximum){ + maximum = acc.get(curr); + num = curr; + } + return acc; + },new Map()); + return num; +}; +console.log(majorityElement([3,2,3])) \ No newline at end of file diff --git a/JinHaLim/Array/solution_566.js b/JinHaLim/Array/solution_566.js new file mode 100644 index 0000000..d2760b4 --- /dev/null +++ b/JinHaLim/Array/solution_566.js @@ -0,0 +1,61 @@ +/** + * @param {number[][]} mat + * @param {number} r + * @param {number} c + * @return {number[][]} + */ +var matrixReshape = function(mat, r, c) { + let x = 0; + let y = 0; + let arr = Array.from(Array(r), () => new Array(c).fill(null)); + if (r * c < mat.length * mat[0].length) { + r = mat.length; + c = mat[0].length; + } + for (let i = 0; i < mat.length; i++) { + for (let j = 0; j < mat[0].length; j++) { + if(mat.length <= r && mat[0].length <= c ){ + arr[i][j] = mat[i][j]; + } + else if(mat.length > r && mat[0].length <= c){ + + if (y +1 < c ) { + arr[x][y] = mat[i][j]; + y++; + } + else if(x < r){ + arr[x][y] = mat[i][j]; + x++; + y = 0; + } + } + else if(mat.length <= r && mat[0].length > c){ + + if (y + 1 < c ) { + arr[x][y] = mat[i][j]; + y++; + } + else if(x < r){ + arr[x][y] = mat[i][j]; + x++; + y = 0; + } + } + else{ + console.log('noo') + } + } + } + return arr.reduce((acc,curr) => { + if (curr.includes(null)) { + curr = curr.slice(0,curr.indexOf(null)); + } + if (curr.length > 0) acc.push(curr); + return acc; + },[]); +}; +console.log(matrixReshape([[1,2], [3,4]],1,4)); +console.log(matrixReshape([[1,2], [3,4]],2,4)); +console.log(matrixReshape([[1,2], [3,4]],4,1)); +console.log(matrixReshape([[1,2]],1,1)); +console.log(matrixReshape([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16],[17,18,19,20]],42,5)); \ No newline at end of file diff --git a/JinHaLim/Array/solution_985.js b/JinHaLim/Array/solution_985.js new file mode 100644 index 0000000..acc6d95 --- /dev/null +++ b/JinHaLim/Array/solution_985.js @@ -0,0 +1,36 @@ +/** + * @param {number[]} nums + * @param {number[][]} queries + * @return {number[]} + */ +var sumEvenAfterQueries = function(nums, queries) { + let evenArr = []; + let sum = nums.reduce((acc,curr)=>{ + if (curr%2 === 0) { + acc += curr; + } + return acc; + },0); + queries.forEach(v => { + if (v[0]%2 === 0) { + if (nums[v[1]] % 2 === 0) { + sum += v[0]; + } + nums[v[1]] += v[0]; + } + else{ + if (nums[v[1]] % 2 === 0) { + sum -= nums[v[1]]; + nums[v[1]] += v[0]; + + } + else{ + nums[v[1]] += v[0]; + sum += nums[v[1]]; + } + } + evenArr.push(sum); + }); + return evenArr; +}; +console.log(sumEvenAfterQueries([1,2,3,4],[[1,0],[-3,1],[-4,0],[2,3]])) \ No newline at end of file