質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

2399閲覧

アルゴリズム 辞書式ソート 求め方 paiza

退会済みユーザー

退会済みユーザー

総合スコア0

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

ソート

複数のデータを、順序性に従って並べ替えること。 データ処理を行う際に頻繁に用いられ、多くのアルゴリズムが存在します。速度、容量、複雑さなどに違いがあり、高速性に特化したものにクイックソートがあります。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/07/01 07:15

前提・実現したいこと

paizaのアルゴリズムの問題に取り組んでいたのですが、どうしても以下の問題の解き方がわかりません。
解き方を教えていただきたいです。
言語はJSでお願いします。

###問題

問題1
問題2

###解答欄

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});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

投稿2020/07/01 08:33

ohys

総合スコア147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2020/07/01 08:50

横槍すみません。 適当で簡潔なツッコミで、 思わず吹きました。
退会済みユーザー

退会済みユーザー

2020/07/01 08:59

ごめんなさい、その規定があることを知りませんでした。 削除できるようになったら削除します。 重ねて質問ですが、アルゴリズムで解き方が知りたい場合はどうすればいいのでしょうか? 二時間かけて解き方を調べましたが、どうしても解けませんでした
miyabi_takatsuk

2020/07/01 09:12

大枠ではなく、細かく要件を細分化していけばいいかと。 要件細分化しないと、調査してヒットするキーワードは得られません。 問題文をよく読んで、 これをするにはこれが必要で、ならこれのやり方は、、、 と調べないと。 大枠で調べてるうちは見つかりっこありません。
退会済みユーザー

退会済みユーザー

2020/07/01 12:04

なるほど、わかりました。 試してみます。
swordone

2020/07/01 13:13

問題に入るときにでかでかと禁止事項が出るのに「知りませんでした」はなかろう…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問