[バックアップ]NodeJs/Javascript入力値の受信方法


基礎がないので,文法を中心に学習すると,データ構造やアルゴリズムの必要性を感じる.
また,符号化テストを学習するためには,1日2時間かけて白駿またはプログラマで問題を解く.

バックグラウンドエンコーディングテストの開始


1.言語の選択


今まで習ったjavascriptを選びたかったのですが、言語にjavascriptはないのですが…?
でもnode.jsを選べばいいです.

また、デフォルトではC++が選択されている可能性がありますが、選択するたびに面倒な場合は、次のデフォルト言語nodeを使用します.jsを設定します.
1)言語設定をクリック

2)node.jsをドラッグして上部に移動

3)下部保存ボタンを押す

2.入力値の取得


今までjavascriptで出力していましたが、入力についてはhtmlのinputラベルしか受け取りませんでした.(だから見慣れない感じ…)
符号化試験は、通常、以下の入力値および所望の出力値を提供する.

これらの値もテキストファイルとして与えられるようです.このファイルをfsモジュールに受信する必要があります.(入力ファイルのパスは"/dev/stdin")
また,入力形式は非常に多様であり,それぞれの形式に基づいてコードを整理すると以下のようになる.
// 1. 입력값이 한 개일 때(한 줄)
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim();
// 2. 입력값이 여러 개일 때(한 줄에 공백으로 구분)
/* ex)
110 78 158
*/
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim().split(" ");
// 3. 입력값이 여러 줄일 때
/* ex)
110
78
158
*/
const fs = require('fs');
const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
// 4. 입력값이 첫 번째 줄에는 입력 값의 길이(n), 두 번째 줄에 공백으로 구분된 입력값이 주어질 때
/* ex)
3
110 78 158
*/
const fs = require('fs');
const [n, input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const inputArr = input.trim().split(" ")
// 5. 입력값이 첫 번째 줄에는 입력 값의 길이(n), n개의 줄에 걸쳐서 한 줄에 하나의 입력값이 주어질 때
/* ex)
3
110
78
158
*/
const fs = require('fs');
const [n, input] = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
もっと多様な形態があるかもしれませんが、上記の方法をうまく使えば、誘うのは難しくないはずです.