TIL. 受信48エンコードテストJavaScript入力(node.js)


クラウドレベル、プログラマー、金俊などの各種コードテストサイトを確認した.一部のWebサイトでは、手動で入力を受信して操作する必要があります.一部のWebサイトでは、この関数で論理を実現するだけです.
クラウド(Goorm)というサイトで初めて手動入力に触れたときは難しかったのを覚えています...入力を受け取る方法を整理します.

概要


  • 一部のエンコードテストはJavascriptを使用してエンコードテストを行うノードです.jsを利用して手動で入力値を取得すべきだという人もいる.

  • エンコードテストjavascriptの入出力概念と全体的な内容は後でさらに記述され、クラウドへの手動入力自体で学んだ内容をまとめます.
  • 入力タイプ


  • 一般入力は、1行入力と複数行入力に分けられます.

  • 実装自体に集中するためには、明確なI/Oルール(スペース、改行、タブ)を敏感にチェックする必要があります.
  • 入力例(単行case、複数行case)



    出力例(caseは入力と同じ)



  • テストに合格できるのは、I/O値と完全に一致している場合のみです.

  • さらに、対応する出力値についても、最後のスペースは同じであるべきである.
  • 入力の受信


    🎈 行を入力

  • テストを開始すると、以下のコードが自分で提供され、lineパラメータを使用して入力を受信できます.
  • // 기본적으로 주어지는 코드
    
    const readline = require("readline");
    const rl = readline.createInterface({
      input: process.stdin,
      output: process.stdout
    });
    
    rl.on("line", function(line) {
      console.log(line); // 입력 값을 확인할 수 있다.
      rl.close();
    }).on("close", function() {
      process.exit(); // 프로세스 종료
    });

  • シングルライン入力の場合は、別途設定する必要はありません.

  • 入力値が1行1個ではなく複数である場合はsplitなどの加工入力値を用いて使用する.
  • 🎈 マルチライン入力

  • 行のケースと同様に、コードが与えられる.
  •   const readline = require("readline");
      const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
      });
    
      rl.on("line", function(line) {
        console.log(line);
        rl.close();
      }).on("close", function() {
        process.exit(); // 프로세스 종료
      });

  • 一方通行入力と異なり、入力値はconsole.log(line)であり、全ての入力値を確認できない.加工は必須です.

  • 一番上に変数を宣言し、その変数を使用してline値を入力する必要があります.
  • rl.close()を実行すると、プロセスが終了します.1つの方法は、コードを削除し、必要に応じて入力を受信することである.
  •   // 여러줄 입력값 받아오는 예시
    
      const readline = require("readline");
      const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout
      });
    
      const input = [];
    
      rl.on("line", function(line) {
        input.push(line) // 변수에 값을 할당한다.
      }).on("close", function() {
        console.log(input) // 입력값 확인 가능
        process.exit(); // 프로세스 종료
      });