diff --git a/JinHaLim/Array/solution_1260.js b/JinHaLim/Array/solution_1260.js new file mode 100644 index 0000000..cc35c15 --- /dev/null +++ b/JinHaLim/Array/solution_1260.js @@ -0,0 +1,30 @@ +/** + * @param {number[][]} grid + * @param {number} k + * @return {number[][]} + */ +var shiftGrid = function(grid, k) { + let copyGrid = new Array(); + copyGrid = grid.slice(0); + let y = grid[0].length; + const result = []; + grid = grid.join(',').split(','); + for (let i = 0; i < grid.length; i++) { + grid[i] = +(grid[i]); + } + if (k > grid.length) { + k = Math.floor(k % grid.length); + } + const sliceArr = grid.slice(grid.length-k).reverse(); + grid = grid.slice(0,grid.length-k) ; + for (let i = 0; i < k; i++) { + grid.splice(0,0,sliceArr[i]) + } + while (grid.length) { + result.push(grid.splice(0,y)); + } + return result; +}; + +console.log(shiftGrid([[1,2,3],[4,5,6],[7,8,9]],1)); +console.log(shiftGrid([[3,8,1,9],[19,7,2,5],[4,6,11,10],[12,0,21,13]],4)); \ No newline at end of file diff --git a/JinHaLim/Array/solution_1394.js b/JinHaLim/Array/solution_1394.js new file mode 100644 index 0000000..ab450a7 --- /dev/null +++ b/JinHaLim/Array/solution_1394.js @@ -0,0 +1,29 @@ +/** + * @param {number[]} arr + * @return {number} + */ +var findLucky = function(arr) { + let lucky = []; + let freqMap = arr.reduce((acc,curr)=>{ + if (acc.has(curr)) { + acc.set(curr,acc.get(curr)+1); + } + else{ + acc.set(curr,1); + } + return acc; + },new Map()); + let keys = [...freqMap.keys()]; + let values = [...freqMap.values()]; + for (let i = 0; i < freqMap.size; i++) { + if (keys[i] === values[i]) { + lucky.push(keys[i]); + } + } + if (lucky.length === 0) { + return -1; + } + return Math.max.apply(null,lucky); +}; +console.log(findLucky([2,2,3,4])); +console.log(findLucky([4,3,2,2,4,1,3,4,3])) \ No newline at end of file diff --git a/JinHaLim/Array/solution_1550.js b/JinHaLim/Array/solution_1550.js new file mode 100644 index 0000000..e3c77be --- /dev/null +++ b/JinHaLim/Array/solution_1550.js @@ -0,0 +1,21 @@ +/** + * @param {number[]} arr + * @return {boolean} + */ +var threeConsecutiveOdds = function(arr) { + let oddArr = []; + for (let i = 0; i < arr.length; i++) { + if (arr[i] %2 === 1) { //odd + oddArr.push(arr[i]); + } + else{ + oddArr = []; + } + if (oddArr.length === 3) { + return true; + } + } + return false; +}; +console.log(threeConsecutiveOdds([2,6,4,1])); +console.log(threeConsecutiveOdds([1,2,34,3,4,5,7,23,12])) \ No newline at end of file