mirror of
https://github.com/theoludwig/programming-challenges.git
synced 2025-05-18 12:02:53 +02:00
feat: rewrite programming-challenges CLI (#3)
This commit is contained in:
@ -1,5 +0,0 @@
|
||||
# typescript-outlier - find-outlier-number
|
||||
|
||||
Programming language : TypeScript
|
||||
|
||||
Created by [@Divlo](https://github.com/Divlo) on 5 July 2020.
|
@ -0,0 +1,3 @@
|
||||
# find-outlier-number/typescript/function
|
||||
|
||||
Created by [@Divlo](https://github.com/Divlo) on 6 June 2021.
|
@ -1,26 +1,35 @@
|
||||
import readline from 'readline'
|
||||
|
||||
const input: string[] = []
|
||||
const readlineInterface = readline.createInterface({
|
||||
input: process.stdin,
|
||||
output: process.stdout
|
||||
})
|
||||
readlineInterface.on('line', (value) => {
|
||||
input.push(value)
|
||||
})
|
||||
readlineInterface.on('close', solution)
|
||||
|
||||
interface NumberObject {
|
||||
value: number
|
||||
index: number
|
||||
}
|
||||
|
||||
function isOdd (number: number): boolean {
|
||||
const isOdd = (number: number): boolean => {
|
||||
return number % 2 !== 0
|
||||
}
|
||||
|
||||
function solution (numbers: number[]): number {
|
||||
function solution() {
|
||||
const numbers = input.map((value) => Number(value))
|
||||
const oddNumbers: NumberObject[] = []
|
||||
const evenNumbers: NumberObject[] = []
|
||||
|
||||
numbers.forEach((number, index) => {
|
||||
const numberObject: NumberObject = { value: number, index }
|
||||
return isOdd(number)
|
||||
? oddNumbers.push(numberObject)
|
||||
: evenNumbers.push(numberObject)
|
||||
})
|
||||
|
||||
const isValueThatDiffersFromOthers =
|
||||
oddNumbers.length === 1 ? oddNumbers[0] : evenNumbers[0]
|
||||
return isValueThatDiffersFromOthers.value
|
||||
console.log(isValueThatDiffersFromOthers.value)
|
||||
}
|
||||
|
||||
export default solution
|
Reference in New Issue
Block a user