diff --git a/jiyeeeah/[week1]Array/array_length.js b/jiyeeeah/[week1]Array/array_length.js new file mode 100644 index 0000000..57a454f --- /dev/null +++ b/jiyeeeah/[week1]Array/array_length.js @@ -0,0 +1,7 @@ +function solution(strlist) { + const answer = []; + for (const str of strlist) { + answer.push(str.length); + } + return answer; +} diff --git a/jiyeeeah/[week1]Array/divided_number_array.js b/jiyeeeah/[week1]Array/divided_number_array.js new file mode 100644 index 0000000..53458dd --- /dev/null +++ b/jiyeeeah/[week1]Array/divided_number_array.js @@ -0,0 +1,9 @@ +function solution(arr, divisor) { + const answer = []; + for (const val of arr) { + if (val % divisor === 0) answer.push(val); + } + if (answer.length <= 0) answer.push(-1); + answer.sort((a, b) => a - b); + return answer; +} diff --git a/jiyeeeah/[week1]Array/number_of_duplicate.js b/jiyeeeah/[week1]Array/number_of_duplicate.js new file mode 100644 index 0000000..9468c77 --- /dev/null +++ b/jiyeeeah/[week1]Array/number_of_duplicate.js @@ -0,0 +1,3 @@ +function solution(array, n) { + return array.filter((value) => value === n).length; +} diff --git a/jiyeeeah/[week1]Array/procession_multiply.js b/jiyeeeah/[week1]Array/procession_multiply.js new file mode 100644 index 0000000..80033b2 --- /dev/null +++ b/jiyeeeah/[week1]Array/procession_multiply.js @@ -0,0 +1,18 @@ +function solution(arr1, arr2) { + const r1 = arr1.length; + const c1 = arr1[0].length; + const r2 = arr2.length; + const c2 = arr2[0].length; + // c1 === r2임 + + const answer = new Array(r1).fill(0).map(() => new Array(c2).fill(0)); + + for (let i = 0; i < r1; i++) { + for (let j = 0; j < c2; j++) { + for (let k = 0; k < c1; k++) { + answer[i][j] += arr1[i][k] * arr2[k][j]; + } + } + } + return answer; +} diff --git a/jiyeeeah/[week1]Array/procession_sum.js b/jiyeeeah/[week1]Array/procession_sum.js new file mode 100644 index 0000000..5c6f7db --- /dev/null +++ b/jiyeeeah/[week1]Array/procession_sum.js @@ -0,0 +1,11 @@ +function solution(arr1, arr2) { + const Xn = arr1.length; + const Yn = arr1[0].length; + const answer = new Array(Xn).fill(0).map(() => new Array(Yn).fill(0)); + for (let i = 0; i < Xn; i++) { + for (let j = 0; j < Yn; j++) { + answer[i][j] = arr1[i][j] + arr2[i][j]; + } + } + return answer; +} diff --git a/jiyeeeah/[week1]Array/remove_min_number.js b/jiyeeeah/[week1]Array/remove_min_number.js new file mode 100644 index 0000000..65b86a1 --- /dev/null +++ b/jiyeeeah/[week1]Array/remove_min_number.js @@ -0,0 +1,9 @@ +function solution(arr) { + const answer = [...arr]; + + const minNum = arr.sort((a, b) => a - b)[0]; + answer.splice(answer.indexOf(minNum), 1); + if (answer.length <= 0) answer.push(-1); + + return answer; +} diff --git a/jiyeeeah/[week1]Array/rotate_array.js b/jiyeeeah/[week1]Array/rotate_array.js new file mode 100644 index 0000000..bc74102 --- /dev/null +++ b/jiyeeeah/[week1]Array/rotate_array.js @@ -0,0 +1,11 @@ +function solution(numbers, direction) { + const answer = [...numbers]; + if (direction === "right") { + const temp = answer.pop(); + answer.unshift(temp); + } else if (direction === "left") { + const temp = answer.shift(); + answer.push(temp); + } + return answer; +} diff --git a/jiyeeeah/[week1]Array/trim_array.js b/jiyeeeah/[week1]Array/trim_array.js new file mode 100644 index 0000000..95b02a0 --- /dev/null +++ b/jiyeeeah/[week1]Array/trim_array.js @@ -0,0 +1,4 @@ +function solution(numbers, num1, num2) { + const answer = numbers; + return answer.slice(num1, num2 + 1); +} diff --git "a/jiyeeeah/[week1]Array/\353\260\260\354\227\264.md" "b/jiyeeeah/[week1]Array/\353\260\260\354\227\264.md" new file mode 100644 index 0000000..58bbf6c --- /dev/null +++ "b/jiyeeeah/[week1]Array/\353\260\260\354\227\264.md" @@ -0,0 +1,24 @@ +> 이번에는 문제를 풀며 몰랐거나 까먹었다가 이제 다시 알게 된 부분들 위주로 정리해봤습니다. + +## 2차원 배열 만들기 + +```js +const arr = new Array(5).fill(0).map(() => new Array(4)); +``` + +### 📄 REFERENCE + +https://joonfluence.tistory.com/508 + +## 행렬의 곱셈 + +```js +const r1 = arr1.length; +const c1 = arr1[0].length; +const r2 = arr2.length; +const c2 = arr2[0].length; +// 여기서 c1 === r2이다. + +// 결과 배열은 r1 * c2이다. +const answer = new Array(r1).fill(0).map(() => new Array(c2).fill(0)); +```