前提・実現したいこと
paizaのアルゴリズムの問題に取り組んでいたのですが、どうしても以下の問題の解き方がわかりません。
解き方を教えていただきたいです。
言語はJSでお願いします。
###問題
###解答欄
process.stdin.resume(); process.stdin.setEncoding('utf8'); // 自分の得意な言語で // Let's チャレンジ!! var lines = []; var reader = require('readline').createInterface({ input: process.stdin, output: process.stdout }); reader.on('line', (line) => { lines.push(line); }); reader.on('close', () => { console.log(lines); });
ここまで導けたがこれだと3 12 22 3になってしまう
JavaScript
1process.stdin.resume(); 2process.stdin.setEncoding('utf8'); 3// Your code here! 4 5var lines = ['3', '2 2', '2 3', '3 1']; 6var reader = require('readline').createInterface({ 7 input: process.stdin, 8 output: process.stdout 9}); 10reader.on('line', (line) => { 11 lines.push(line); 12}); 13reader.on('close', () => { 14 function compareNumbers(a, b) { 15 return b.match(/\d/) - a.match(/\d/); 16} 17 18function compare (a, b) { 19 if (b.match(/\d/) === a.match(/\d/)) { 20 if (Number(a.slice(-1)) <Number(b.slice(-1))) { 21 return 1; 22 23 } 24 if (Number(a.slice(-1)) > Number(b.slice(-1))) { 25 return -1; 26 27 } 28 return 0; 29 } 30} 31 let foo = lines.slice(1); 32 let boo = foo.sort(compareNumbers); 33 let buz = boo.sort(compare); 34 for (let i = 0; i < lines[0]; i++) { 35 console.log(buz[i]); 36 } 37});
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/01 08:50
退会済みユーザー
2020/07/01 08:59
2020/07/01 09:12
退会済みユーザー
2020/07/01 12:04
2020/07/01 13:13
2020/07/01 20:59