Dzień dobry, mam problem rozwiązuję sobie zadanie z Hackerrank odnośnie js' a. Wszystko idzie dobrze do tego zadania. Zmagam się z tym od kilku godzin i mam problem, którego nie rozumiem. Poniżej kod.
PS Wiem kod niechlujny ale to wersja robocza :P
'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
inputString += inputStdin;
});
process.stdin.on('end', _ => {
inputString = inputString.replace(/\s*$/, '')
.split('\n')
.map(str => str.replace(/\s*$/, ''));
main();
});
function readLine() {
return inputString[currentLine++];
}
function main() {
const n = readLine(); //liczba powtórzeń
var s = Array(); //tablica z sławami
var ns = Array(); // tablica 2d ze stringami podzielonymi
var firstIntChars = Array();
var firstFloatChars = Array();
var secondIntChars = Array();
var secondFloatChars = Array();
var rfic;
var rfif;
var rsic;
var rsif;
for (var i = 0; i < n; i++){
s[i] = readLine();
ns[i, i] = s[i].split('');
}
//console.log(n);
//console.log(s);
//console.log(ns);
for (var j = 0; j < ns.length; j++) {
for (var k = 0; k < ns[j].length; k++) {
if (j == 0) {
if (k % 2 == 0) {
firstIntChars[k] = ns[j, k];
} else {
firstFloatChars[k] = ns[j, k];
}
} else {
if (k % 2 == 0) {
secondIntChars[k] = ns[j, k];
} else {
secondFloatChars[k] = ns[j, k];
}
}
}
}
rfic = firstIntChars.join().replace(',', '');
rfif = firstFloatChars.join().replace(',', '');
rsic = secondIntChars.join().replace(',', '');
rsif = secondFloatChars.join().replace(',', '');
console.log(rfic + " " + rfif);
console.log(rsic + " " + rsif);
}
Problem w tym że output zamiast:
Hce akr
Rn ak
Wygląda tak:
Ha,c,k,e,r,,,, R,a,n,k,,,,
Ha,c,k,e,r,, R,a,n,k,,
pomocy co robię źle?