From 2e9ff0a0253e1c3ad102d99ecde7fd17c3adbe1e Mon Sep 17 00:00:00 2001 From: lbu0413 Date: Wed, 3 Aug 2022 18:02:12 -0400 Subject: [PATCH 1/4] solve: everyArray --- Challenge/lbu0413/everyArray/README.md | 9 +++++++++ Challenge/lbu0413/everyArray/solve.js | 10 ++++++++++ Challenge/lbu0413/everyArray/solve.test.js | 21 +++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 Challenge/lbu0413/everyArray/README.md create mode 100644 Challenge/lbu0413/everyArray/solve.js create mode 100644 Challenge/lbu0413/everyArray/solve.test.js diff --git a/Challenge/lbu0413/everyArray/README.md b/Challenge/lbu0413/everyArray/README.md new file mode 100644 index 00000000..442558f6 --- /dev/null +++ b/Challenge/lbu0413/everyArray/README.md @@ -0,0 +1,9 @@ +# 문제제목 + +## 설명 + +every를 이용해서 모든 원소가 짝수인지 아닌지를 판별하세요 + +## Expected Output + +true \ No newline at end of file diff --git a/Challenge/lbu0413/everyArray/solve.js b/Challenge/lbu0413/everyArray/solve.js new file mode 100644 index 00000000..8419bcf3 --- /dev/null +++ b/Challenge/lbu0413/everyArray/solve.js @@ -0,0 +1,10 @@ +function solution(inputArray) { + return inputArray.every((i) => i % 2 === 0); +} + +const inputArray = [2, 4, 6, 8, 10]; +console.log(solution(inputArray)); + +// const inputArray2 = [2, 3, 6, 8, 10]; +// console.log(solution(inputArray2)); +// exports.solution = solution; diff --git a/Challenge/lbu0413/everyArray/solve.test.js b/Challenge/lbu0413/everyArray/solve.test.js new file mode 100644 index 00000000..7dac26a4 --- /dev/null +++ b/Challenge/lbu0413/everyArray/solve.test.js @@ -0,0 +1,21 @@ +const { solution } = require("./solve"); + +const test1 = { + input: [2, 4, 6, 8, 10], + answer: true, +}; + +const test2 = { + input: [2, 3, 6, 8, 10], + answer: false, +}; + +describe("everyArray", () => { + test("모두 짝수면 true여야 한다.", () => { + expect(solution(test1.input)).toEqual(test1.answer); + }); + + test("홀수가 있으면 false여야 한다.", () => { + expect(solution(test2.input)).toEqual(test2.answer); + }); +}); From 9d48dddfd81942a383cec254e8b319165d75f99a Mon Sep 17 00:00:00 2001 From: lbu0413 Date: Fri, 5 Aug 2022 00:31:56 -0400 Subject: [PATCH 2/4] solved: expDivOdd --- Challenge/lbu0413/expDivOdd/README.md | 3 +++ Challenge/lbu0413/expDivOdd/solve.js | 12 ++++++++++++ Challenge/lbu0413/expDivOdd/solve.test.js | 21 +++++++++++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 Challenge/lbu0413/expDivOdd/README.md create mode 100644 Challenge/lbu0413/expDivOdd/solve.js create mode 100644 Challenge/lbu0413/expDivOdd/solve.test.js diff --git a/Challenge/lbu0413/expDivOdd/README.md b/Challenge/lbu0413/expDivOdd/README.md new file mode 100644 index 00000000..c07ab10b --- /dev/null +++ b/Challenge/lbu0413/expDivOdd/README.md @@ -0,0 +1,3 @@ +## 설명 + +제곱한 후 3으로 나눈 나머지가 홀수인 것 을 뽑은 배열의 총 합을 구하세요. diff --git a/Challenge/lbu0413/expDivOdd/solve.js b/Challenge/lbu0413/expDivOdd/solve.js new file mode 100644 index 00000000..c0ddc136 --- /dev/null +++ b/Challenge/lbu0413/expDivOdd/solve.js @@ -0,0 +1,12 @@ +// ## 설명 + +// 제곱한 후 3으로 나눈 나머지가 홀수인 것 을 뽑은 배열의 총 합을 구하세요. + +function solution(inputArray) { + return inputArray + .map((i) => i * i) + .filter((i) => i % 3 === 1) + .reduce((acc, i) => acc + i); +} +console.log(solution([2, 3, 6, 8, 10])); +exports.solution = solution; diff --git a/Challenge/lbu0413/expDivOdd/solve.test.js b/Challenge/lbu0413/expDivOdd/solve.test.js new file mode 100644 index 00000000..ca37fcc3 --- /dev/null +++ b/Challenge/lbu0413/expDivOdd/solve.test.js @@ -0,0 +1,21 @@ +const { solution } = require('./solve'); + +const test1 = { + input: [1, 7, 3, 4, 6], + answer: 66, +}; + +const test2 = { + input: [2, 3, 6, 8, 10], + answer: 168, +}; + +describe('everyArray', () => { + test('1, 7, 3, 4, 6', () => { + expect(solution(test1.input)).toEqual(test1.answer); + }); + + test('2, 3, 6, 8, 10', () => { + expect(solution(test2.input)).toEqual(test2.answer); + }); +}); From de010bccdb325c86dd7558cfeeb75cec109dbe5b Mon Sep 17 00:00:00 2001 From: lbu0413 Date: Fri, 5 Aug 2022 16:12:11 -0400 Subject: [PATCH 3/4] solve: filterAge --- Challenge/lbu0413/everyArray/solve.js | 1 - Challenge/lbu0413/expDivOdd/solve.js | 1 - Challenge/lbu0413/filterAge/README.md | 3 +++ Challenge/lbu0413/filterAge/solve.js | 24 +++++++++++++++++ Challenge/lbu0413/filterAge/solve.test.js | 32 +++++++++++++++++++++++ 5 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 Challenge/lbu0413/filterAge/README.md create mode 100644 Challenge/lbu0413/filterAge/solve.js create mode 100644 Challenge/lbu0413/filterAge/solve.test.js diff --git a/Challenge/lbu0413/everyArray/solve.js b/Challenge/lbu0413/everyArray/solve.js index 8419bcf3..3a5eeb99 100644 --- a/Challenge/lbu0413/everyArray/solve.js +++ b/Challenge/lbu0413/everyArray/solve.js @@ -3,7 +3,6 @@ function solution(inputArray) { } const inputArray = [2, 4, 6, 8, 10]; -console.log(solution(inputArray)); // const inputArray2 = [2, 3, 6, 8, 10]; // console.log(solution(inputArray2)); diff --git a/Challenge/lbu0413/expDivOdd/solve.js b/Challenge/lbu0413/expDivOdd/solve.js index c0ddc136..6166d6d5 100644 --- a/Challenge/lbu0413/expDivOdd/solve.js +++ b/Challenge/lbu0413/expDivOdd/solve.js @@ -8,5 +8,4 @@ function solution(inputArray) { .filter((i) => i % 3 === 1) .reduce((acc, i) => acc + i); } -console.log(solution([2, 3, 6, 8, 10])); exports.solution = solution; diff --git a/Challenge/lbu0413/filterAge/README.md b/Challenge/lbu0413/filterAge/README.md new file mode 100644 index 00000000..873a15c1 --- /dev/null +++ b/Challenge/lbu0413/filterAge/README.md @@ -0,0 +1,3 @@ +## 설명 + +배열 원소의 age가 30이상 50미만인 사람만 있는 객체의 배열을 만드세요 diff --git a/Challenge/lbu0413/filterAge/solve.js b/Challenge/lbu0413/filterAge/solve.js new file mode 100644 index 00000000..9dcb1815 --- /dev/null +++ b/Challenge/lbu0413/filterAge/solve.js @@ -0,0 +1,24 @@ +// write your codes +// const input = [ +// { +// name: "영미", +// age: 25, +// }, +// { +// name: "일미", +// age: 35, +// }, +// { +// name: "이미", +// age: 45, +// }, +// { +// name: "삼미", +// age: 55, +// }, +// ]; +function solution(inputArray) { + return inputArray.filter((i) => i.age >= 30 && i.age < 50); +} + +exports.solution = solution; diff --git a/Challenge/lbu0413/filterAge/solve.test.js b/Challenge/lbu0413/filterAge/solve.test.js new file mode 100644 index 00000000..b9081601 --- /dev/null +++ b/Challenge/lbu0413/filterAge/solve.test.js @@ -0,0 +1,32 @@ +const { solution } = require('./solve'); + +const test1 = { + input: [ + { + name: '영미', + age: 25, + }, + { + name: '일미', + age: 35, + }, + { + name: '이미', + age: 45, + }, + { + name: '삼미', + age: 55, + }, + ], + answer: [ + { name: '일미', age: 35 }, + { name: '이미', age: 45 }, + ], +}; + +describe('filterAge', () => { + test('test1', () => { + expect(solution(test1.input)).toEqual(test1.answer); + }); +}); From 5783a66789109c9d674da70261fee8a1588be12f Mon Sep 17 00:00:00 2001 From: lbu0413 Date: Fri, 5 Aug 2022 16:17:27 -0400 Subject: [PATCH 4/4] solve: filterIntersection --- Challenge/lbu0413/filterIntersection/README.md | 5 +++++ Challenge/lbu0413/filterIntersection/solve.js | 8 ++++++++ .../lbu0413/filterIntersection/solve.test.js | 15 +++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 Challenge/lbu0413/filterIntersection/README.md create mode 100644 Challenge/lbu0413/filterIntersection/solve.js create mode 100644 Challenge/lbu0413/filterIntersection/solve.test.js diff --git a/Challenge/lbu0413/filterIntersection/README.md b/Challenge/lbu0413/filterIntersection/README.md new file mode 100644 index 00000000..d7c9ad39 --- /dev/null +++ b/Challenge/lbu0413/filterIntersection/README.md @@ -0,0 +1,5 @@ +# 문제제목 + +## 설명 + +두 배열의 교집합을 출력하세요! diff --git a/Challenge/lbu0413/filterIntersection/solve.js b/Challenge/lbu0413/filterIntersection/solve.js new file mode 100644 index 00000000..b9828d87 --- /dev/null +++ b/Challenge/lbu0413/filterIntersection/solve.js @@ -0,0 +1,8 @@ +// const A = [1, 2, 3, 4, 5]; +// const B = [3, 4, 5, 6, 7]; + +function solution(inputArray1, inputArray2) { + return inputArray1.filter((i) => inputArray2.includes(i)); +} + +exports.solution = solution; diff --git a/Challenge/lbu0413/filterIntersection/solve.test.js b/Challenge/lbu0413/filterIntersection/solve.test.js new file mode 100644 index 00000000..576cbc86 --- /dev/null +++ b/Challenge/lbu0413/filterIntersection/solve.test.js @@ -0,0 +1,15 @@ +const { solution } = require('./solve'); + +const test1 = { + input: { + A: [1, 2, 3, 4, 5], + B: [3, 4, 5, 6, 7], + }, + answer: [3, 4, 5], +}; + +describe('filterIntersection', () => { + test('test1', () => { + expect(solution(test1.input.A, test1.input.B)).toEqual(test1.answer); + }); +});