白駿3009第四点-JS

1595 ワード


-コミットされたコード

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\n');
let answer = '';
let a = input[0].trim().split(' ');
let b = input[1].trim().split(' ');
let c = input[2].trim().split(' ');
let arr_x = [];
let arr_y = [];

for(let i=0; i < input.length; i++) {
    let arr = input[i].trim().split(' ');
    arr_x.push(arr[0]);
    arr_y.push(arr[1]);
}

let x = arr_x[0]; //30 5
let y = arr_y[0]; //20 5

let x_find = arr_x.indexOf(x,1);

if(x_find === -1) {
    x = x;
} else {
    arr_x.splice(x_find,1);
    arr_x.splice(0,1);
    x = arr_x[0];
}

let y_find = arr_y.indexOf(y,1);

if(y_find === -1) {
    y = y;
} else {
    arr_y.splice(y_find,1);
    arr_y.splice(0,1);
    y = arr_y[0];
}


// console.log(x);
// console.log(y);
answer += x + ' ' +  y;
console.log(answer);
かすかにめちゃくちゃなものがたくさん現れた.xはxの別のx値であり、yも提供されるyの別の値である.
質問に答えてみれば
1.xのみarr x配列を単独で挿入します.
2.arr y配列にyのみを単独で入れる.
3.各配列の一意の値はx,yである
ここで固有の値を探し出すのはちょっと紛らわしいので(私はバカです)思いついた答えは
4.各配列の0番目のインデックス値をx,yに格納する
5.indexOf関数によりarr x(y)配列において、最初のインデックス値から(0から面0までの値であるため、直ちに値を返し、1から).
6.x(y)findが-1(重複値がない場合)の場合、x(y)が一意の値であるか、インデックス番号を持つ要素を消去し、0番目のインデックス値の要素を消去し、残りの配列の値をx(y)の値として指定します.
**0番目のインデックスから削除すると、インデックスが変更され、他の要素が削除されることに注意してください.
ほかに方法がある