加算代入演算子のところでresult
が文字列にキャストされてしまっているのではないでしょうか。
result +=
をresult.push
関数に置き換えたら動作します
function StringChallenge(num) {
//数字じゃなく文字列で出力しなければならい
let result = [];
num = num.toString();
for (let i = 0; i < num.length - 1; i++) {
const oddnumber = num[i]
const evennumber = num[i + 1]
//0は無視
//if文の書き方にミスがある0の処理ではなく偶数、奇数の処理にしてみます
//偶数同士に'*'を入れる条件式 等価演算子または厳密演算子でコードを作成する
if ((oddnumber % 2 == 0) && (oddnumber % 2 == 0)) {
- result += (oddnumber, '*');
+ result.push(oddnumber, '*');
}
//奇数同士で'-'を入れる条件式
else if ((evennumber % 2 == 1) && (evennumber % 2 == 1)) {
- result += (evennumber, '-');
+ result.push(evennumber, '-');
}
else {
;
}
//入力した文字列の数字を配列するための処理が必要
result.push(num[num.length - 1]);
}
// code goes here
//最後は文字列で連結する
return result.join('');
}
// keep this function call here
console.log(StringChallenge(readline()));
Like!