diff --git a/yulrang/01_Array/01_Slice_array.js b/yulrang/01_Array/01_Slice_array.js new file mode 100644 index 0000000..f803fab --- /dev/null +++ b/yulrang/01_Array/01_Slice_array.js @@ -0,0 +1,8 @@ +function solution(numbers, num1, num2) { + var answer = []; + + for(let i = num1; i <= num2; i++){ + answer.push(numbers[i]); + } + return answer; +} \ No newline at end of file diff --git a/yulrang/01_Array/02_Length_of_array_items.js b/yulrang/01_Array/02_Length_of_array_items.js new file mode 100644 index 0000000..20de681 --- /dev/null +++ b/yulrang/01_Array/02_Length_of_array_items.js @@ -0,0 +1,9 @@ +function solution(strlist) { + var answer = []; + + for(let i=0; i el === n); + answer = filteredArr.length; + + return answer; +} \ No newline at end of file diff --git a/yulrang/01_Array/05_Remove_lowest_number.js b/yulrang/01_Array/05_Remove_lowest_number.js new file mode 100644 index 0000000..3393410 --- /dev/null +++ b/yulrang/01_Array/05_Remove_lowest_number.js @@ -0,0 +1,7 @@ +function solution(arr) { + if (arr.length === 1) { + return [-1]; + } + + return arr.filter((el) => el !== Math.min(...arr)); +} \ No newline at end of file diff --git a/yulrang/01_Array/06_Sum_of_matrix.js b/yulrang/01_Array/06_Sum_of_matrix.js new file mode 100644 index 0000000..7a63d5e --- /dev/null +++ b/yulrang/01_Array/06_Sum_of_matrix.js @@ -0,0 +1,12 @@ +function solution(arr1, arr2) { + var answer = new Array(arr1.length); + + for(let i=0; i { + if(el % divisor === 0) answer.push(el); + }) + answer.sort((a,b) => a-b); + + if(answer.length === 0) return [-1]; + + return answer; +} \ No newline at end of file diff --git a/yulrang/02_Stack/01_Reverse_string.js b/yulrang/02_Stack/01_Reverse_string.js new file mode 100644 index 0000000..fbd4c3b --- /dev/null +++ b/yulrang/02_Stack/01_Reverse_string.js @@ -0,0 +1,5 @@ +function solution(my_string) { + var answer = ''; + answer = my_string.split('').reverse().join(''); + return answer; +} \ No newline at end of file diff --git a/yulrang/02_Stack/02_Ctrl_Z.js b/yulrang/02_Stack/02_Ctrl_Z.js new file mode 100644 index 0000000..6072da9 --- /dev/null +++ b/yulrang/02_Stack/02_Ctrl_Z.js @@ -0,0 +1,15 @@ +function solution(s) { + var answer = 0; + let arr = s.split(' '); + let newArr = []; + + for(let i=0; i acc + Number(cur), 0); + return answer; +} \ No newline at end of file diff --git a/yulrang/02_Stack/03_English.js b/yulrang/02_Stack/03_English.js new file mode 100644 index 0000000..da05f42 --- /dev/null +++ b/yulrang/02_Stack/03_English.js @@ -0,0 +1,22 @@ +function solution(numbers) { + var answer = 0; + const numberObj = { + zero : 0, + one : 1, + two : 2, + three : 3, + four : 4, + five : 5, + six : 6, + seven : 7, + eight : 8, + nine : 9, + } + + for ( const num in numberObj ){ + numbers = numbers.replaceAll(num, numberObj[num]); + } + answer = Number(numbers); + + return answer; +} \ No newline at end of file diff --git a/yulrang/02_Stack/04_Calculate_string.js b/yulrang/02_Stack/04_Calculate_string.js new file mode 100644 index 0000000..f59e127 --- /dev/null +++ b/yulrang/02_Stack/04_Calculate_string.js @@ -0,0 +1,21 @@ +function solution(my_string) { + var answer = 0; + let newArr = []; + my_string.split(' ').forEach((el, idx, arr) => { + if(idx === 0) { + newArr.push(Number(el)); + } + if(el === '+' || el === '-') { + newArr.push(Number(arr[idx + 1])) + if (el === '+'){ + answer = newArr[0] + newArr[1]; + } else { + answer = newArr[0] - newArr[1]; + } + newArr = []; + newArr.push(answer); + } + }) + answer = newArr[0]; + return answer; +} \ No newline at end of file diff --git a/yulrang/02_Stack/05_KaKao_game.js b/yulrang/02_Stack/05_KaKao_game.js new file mode 100644 index 0000000..a6c061c --- /dev/null +++ b/yulrang/02_Stack/05_KaKao_game.js @@ -0,0 +1,26 @@ +function solution(board, moves) { + let answer = 0; + let basket = []; + + const runBasket = () => { + for(let i=basket.length-1; i>0; i--) { + if(basket[i] === basket[i-1]) { + basket.splice(i-1, 2); + answer += 2; + } + } + } + + for(let i=0; i { + if(el === '(') { + pairArr.push(el); + } else if(el === ')' && pairArr.includes('(')) { + pairArr.pop(); + } else + pairArr.push('-'); + }) + + answer = pairArr.length === 0 ? true : false; + + return answer; +} \ No newline at end of file diff --git a/yulrang/02_Stack/07_Dart_game.js b/yulrang/02_Stack/07_Dart_game.js new file mode 100644 index 0000000..2852f99 --- /dev/null +++ b/yulrang/02_Stack/07_Dart_game.js @@ -0,0 +1,54 @@ +function solution(dartResult) { + var answer = 0; + let scoreArr = []; + + dartResult.split('').forEach((el, idx, arr) => { + switch(el){ + case 'S': + scoreArr[scoreArr.length-1] = Math.pow(scoreArr[scoreArr.length-1], 1); + break; + case 'D': + scoreArr[scoreArr.length-1] = Math.pow(scoreArr[scoreArr.length-1], 2); + break; + case 'T': + scoreArr[scoreArr.length-1] = Math.pow(scoreArr[scoreArr.length-1], 3); + break; + case '1': + if(arr[idx+1] === '0') scoreArr.push(10); + else scoreArr.push(1); + break; + case '0': + if(arr[idx-1] !== '1') scoreArr.push(0); + break; + case '*': + break; + case '#': + break; + default : + scoreArr.push(Number(el)); + break; + } + }) + + dartResult.split('').forEach((el, idx, arr) => { + let targetIdx = 0; + + if(idx >= 6) targetIdx = 2; + else if(idx >= 4 && idx < 6) targetIdx = 1; + else targetIdx = 0; + + switch(el){ + case '*': + scoreArr[targetIdx] = scoreArr[targetIdx] * 2; + scoreArr[targetIdx - 1] = scoreArr[targetIdx - 1] * 2; + break; + case '#': + scoreArr[targetIdx] = scoreArr[targetIdx] * (-1); + break; + } + }); + + answer = scoreArr.reduce((acc, cur) => acc + cur, 0); + + return answer; +} \ No newline at end of file