From 29cf60602afdaccb67a3c2d4ac9c641e25606802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tain=C3=A1=20Soares?= Date: Tue, 1 Feb 2022 16:45:32 -0300 Subject: [PATCH] =?UTF-8?q?Exerc=C3=ADcio=20de=20verificar=20qual=20n?= =?UTF-8?q?=C3=BAmero=20n=C3=A3o=20est=C3=A1=20contido=20no=20array?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- logic-exercises/numeroFaltante/.gitignore | 2 ++ logic-exercises/numeroFaltante/jest.config.js | 8 +++++++ logic-exercises/numeroFaltante/package.json | 24 +++++++++++++++++++ logic-exercises/numeroFaltante/src/index.ts | 10 ++++++++ .../numeroFaltante/tests/index.test.ts | 14 +++++++++++ logic-exercises/numeroFaltante/tsconfig.json | 13 ++++++++++ 6 files changed, 71 insertions(+) create mode 100644 logic-exercises/numeroFaltante/.gitignore create mode 100644 logic-exercises/numeroFaltante/jest.config.js create mode 100644 logic-exercises/numeroFaltante/package.json create mode 100644 logic-exercises/numeroFaltante/src/index.ts create mode 100644 logic-exercises/numeroFaltante/tests/index.test.ts create mode 100644 logic-exercises/numeroFaltante/tsconfig.json diff --git a/logic-exercises/numeroFaltante/.gitignore b/logic-exercises/numeroFaltante/.gitignore new file mode 100644 index 0000000..d5f19d8 --- /dev/null +++ b/logic-exercises/numeroFaltante/.gitignore @@ -0,0 +1,2 @@ +node_modules +package-lock.json diff --git a/logic-exercises/numeroFaltante/jest.config.js b/logic-exercises/numeroFaltante/jest.config.js new file mode 100644 index 0000000..966b516 --- /dev/null +++ b/logic-exercises/numeroFaltante/jest.config.js @@ -0,0 +1,8 @@ +module.exports = { + roots: ["/tests"], + transform: { + "^.+\\.tsx?$": "ts-jest", + }, + testRegex: "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$", + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], + }; \ No newline at end of file diff --git a/logic-exercises/numeroFaltante/package.json b/logic-exercises/numeroFaltante/package.json new file mode 100644 index 0000000..dd9e3e1 --- /dev/null +++ b/logic-exercises/numeroFaltante/package.json @@ -0,0 +1,24 @@ +{ + "name": "numero_faltante", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "dev": "ts-node-dev --transpile-only --ignore-watch node_modules ./src/index.ts", + "test": "clear && jest", + "start": "tsc && node ./build/src/index.js" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@types/jest": "^27.4.0", + "@types/node": "^17.0.14", + "typescript": "^4.5.5" + }, + "dependencies": { + "jest": "^27.4.7", + "ts-jest": "^27.1.3", + "ts-node-dev": "^1.1.8" + } +} diff --git a/logic-exercises/numeroFaltante/src/index.ts b/logic-exercises/numeroFaltante/src/index.ts new file mode 100644 index 0000000..33bb26b --- /dev/null +++ b/logic-exercises/numeroFaltante/src/index.ts @@ -0,0 +1,10 @@ +export const findMissingNumber = (arr: number[]): number => { + const expectedSum = 5050; + let sum = 0; + for (const num of arr) { + sum += num; + } + return expectedSum - sum; +}; + +// console.log(findMissingNumber([1,2,3,5])) \ No newline at end of file diff --git a/logic-exercises/numeroFaltante/tests/index.test.ts b/logic-exercises/numeroFaltante/tests/index.test.ts new file mode 100644 index 0000000..f4e8a2a --- /dev/null +++ b/logic-exercises/numeroFaltante/tests/index.test.ts @@ -0,0 +1,14 @@ +import { findMissingNumber } from "../src" + +test("findMissingNumber", ()=>{ + + const array = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36, + 37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74, + 75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100] + + const result = findMissingNumber(array) + + expect(array.length).toBe(99); + expect(result).toBe(96); + +}) \ No newline at end of file diff --git a/logic-exercises/numeroFaltante/tsconfig.json b/logic-exercises/numeroFaltante/tsconfig.json new file mode 100644 index 0000000..1020569 --- /dev/null +++ b/logic-exercises/numeroFaltante/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "es6" , + "module": "commonjs", + "outDir": "./build" , + "rootDir": "./" , + "strict": true , + "sourceMap": true, + "removeComments": true, + "esModuleInterop": true , + "forceConsistentCasingInFileNames": true + } + } \ No newline at end of file