Problem from Hackerrank.
Got some issues figuring out why it didn’t work my function. Two mental notes:
I am still have some problems with indentation and that can cause to put my return value inside the for loop without noticing.
I keep writing the operator “+=” as “=+”. How annoying! I read a good article about it and I finally got it.
My solution:
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 |
'use strict'; const fs = require('fs'); process.stdin.resume(); process.stdin.setEncoding('utf-8'); let inputString = ''; let currentLine = 0; process.stdin.on('data', function(inputStdin) { inputString += inputStdin; }); process.stdin.on('end', function() { inputString = inputString.split('\n'); main(); }); function readLine() { return inputString[currentLine++]; } // Complete the compareTriplets function below. function compareTriplets(a, b) { let bob = 0; let alice = 0; for (let i=0; i < a.length; i++) { if (a[i] > b[i]) { alice += 1; } else if (a[i] < b[i]) { bob += 1; } } let result = [alice, bob]; return result; } function main() { const ws = fs.createWriteStream(process.env.OUTPUT_PATH); const a = readLine().replace(/\s+$/g, '').split(' ').map(aTemp => parseInt(aTemp, 10)); const b = readLine().replace(/\s+$/g, '').split(' ').map(bTemp => parseInt(bTemp, 10)); const result = compareTriplets(a, b); ws.write(result.join(' ') + '\n'); ws.end(); } |