diff --git a/Moonjonghoo/stack/Crane_Doll_Picking_Game.js b/Moonjonghoo/stack/Crane_Doll_Picking_Game.js new file mode 100644 index 0000000..fc065ee --- /dev/null +++ b/Moonjonghoo/stack/Crane_Doll_Picking_Game.js @@ -0,0 +1,21 @@ +function solution(board, moves) { + let N = board.length; + let stack = []; + let count = 0; + for (let i = 0; i < moves.length; i++) { + for (let j = 0; j < N; j++) { + if (board[j][moves[i] - 1] !== 0) { + stack.push(board[j][moves[i] - 1]); + if (stack[stack.length - 1] == stack[stack.length - 2]) { + count++; + count++; + stack.pop(); + stack.pop(); + } + board[j][moves[i] - 1] = 0; + break; + } + } + } + return count; +} diff --git a/Moonjonghoo/stack/I_don't_like_English.js b/Moonjonghoo/stack/I_don't_like_English.js new file mode 100644 index 0000000..4402794 --- /dev/null +++ b/Moonjonghoo/stack/I_don't_like_English.js @@ -0,0 +1,20 @@ +function solution(numbers) { + const strN = [ + "zero", + "one", + "two", + "three", + "four", + "five", + "six", + "seven", + "eight", + "nine", + ]; + + strN.forEach((nums, index) => { + numbers = numbers.split(nums).join(index); + }); + + return Number(numbers); +} diff --git a/Moonjonghoo/stack/String_Calculation.js b/Moonjonghoo/stack/String_Calculation.js new file mode 100644 index 0000000..3f78b87 --- /dev/null +++ b/Moonjonghoo/stack/String_Calculation.js @@ -0,0 +1,17 @@ +function solution(my_string) { + const splited = my_string.split(" "); + + let ans = Number(splited[0]); + + splited.forEach((item, index) => { + if (item === "+") { + ans += Number(splited[index + 1]); + } + + if (item === "-") { + ans -= Number(splited[index + 1]); + } + }); + + return ans; +} diff --git a/Moonjonghoo/stack/String_Reversal.js b/Moonjonghoo/stack/String_Reversal.js new file mode 100644 index 0000000..1880f14 --- /dev/null +++ b/Moonjonghoo/stack/String_Reversal.js @@ -0,0 +1,11 @@ +function solution(my_string) { + let arr = []; + for (let i = 0; i < my_string.length; i++) { + arr.push(my_string[i]); + } + let newarr = arr.sort(function (a, b) { + return a - b; + }); + let answer = newarr.toString(); + return answer; +} diff --git a/Moonjonghoo/stack/control_z.js b/Moonjonghoo/stack/control_z.js new file mode 100644 index 0000000..2776e3e --- /dev/null +++ b/Moonjonghoo/stack/control_z.js @@ -0,0 +1,8 @@ +function solution(s) { + const stack = []; + s.split(" ").forEach((target) => { + if (target === "Z") stack.pop(); + else stack.push(+target); + }); + return stack.length ? stack.reduce((pre, cur) => pre + cur) : 0; +}