なずブログ

インフラSE、Java開発、リモートワークエンジニアな人のメモ帳

paizaの問題を解答するための準備~JavaScript~

JavaScriptの練習がしたい!

そうだ久しぶりにpaizaの問題を解いてみよう!

標準入力がわからなくて採点すらしてもらえない←イマココ


というわけで、Javaでもあった問題です。


shokuren.hateblo.jp


提出の仕方と言いましたが、正確には

自分の環境での練習の仕方です。



例文をテキストファイルに保存。

これでコードを書きたいのですが、その環境がうまくいかない。


だいたいJavaScriptで標準入力てなんやねん。。。


いろいろ方法はあるかと思いますが、結論としては

Ajaxでテキストファイルを読み込んで

splitで普通に分割です。



参考にさせて頂いたのはこちら。

https://q-az.net/without-jquery-ajax/


paizaの回答ではjQueryが使えないみたいです(タブン



わたしが作ったのはこっち。

同じフォルダ内に「input」ファイルを作成して

そこに例題を貼り付けます。


 var myXml = new XMLHttpRequest();
    
    myXml.open("GET", "input", true);
    myXml.send(null);

    myXml.onreadystatechange = function() {
        if (myXml.readyState === 4) {
            if (myXml.status == 200) {
                //console.log(myXml.responseText); //通信成功時
                
                var str = myXml.responseText
                
                var lines = str.split(/\r\n|\r|\n/);
                
                var N = lines[0];
                
                    for(var i=1;i<=N;i++){
                        var line  = lines[i].replace(/(^\s+)|(\s+$)/g, "").split(",");
                        
                        console.log("hello =" + line[0] + ", world = " + line[1] );
                    }
                
                
                
            } else {
                console.log("false")
            }
        }
}

ひとまず、これで自作のテキストファイル相手にテストできます。


とはいうものの、問題によって変えなきゃいけない部分の敷居が高い。。。


変数「N」はpaizaでよくある、その後の行数を指定です。


また、今回はカンマでsplitしてますが、半角スペースの問題が

かなり多いです。


このあたりでなんとかなるとは思います。



問題そのものよりも、答えるための知識の方が

はるかに難しいというのはなんとかならんのかしら。


質問あったらコメント下さい!