前提・実現したいこと
AtCoder Beginner Contest 049 のC問題(白昼夢)を正規表現を使って解いているのですが、どうしてもACにすることができません。
一部のテストケースはクリアしている一方で、全てをクリアするまでには至っていません。
下記の「試したこと」に掲載したサイトで答えを確認したところ、一致する文字列をさがすという方向性は一緒な気がしているのに、正規表現を使った私のコードでは一向にACになりません。
コードのどの点がテストケースを満たさない場合を生み出すのかをご指摘いただけると幸いです。
よろしくお願いいたします。
該当のソースコード
function main(input) { const args = input.split('').reverse().join(''); //正規表現を使って、一致する文字列を空文字に置き換えている var rplc1 = /maerd/g; var rplc2 = /remaerd/g; var rplc3 = /esare/g; var rplc4 = /resare/g; var i = args.replace(rplc1,''); var j = i.replace(rplc2,''); var k = j.replace(rplc3,''); var l = k.replace(rplc4,''); //条件分岐の際、余分な要素が入り望まない結果になることを防ぐために、boolean型に変更している var m = l === '' //全ての文字列が空文字に置換されたのならTrueになるはずなので、 //その場合はYESを表示しそれ以外の場合はNOを表示するようにしている if(!m){ console.log('NO'); }else if(m){ console.log('YES'); } } main(require('fs').readFileSync('/dev/stdin', 'utf8'));
試したこと
AtCoder に登録したら解くべき精選過去問 10 問を JavaScript で解いてみたの答えは確認しましたが、自分のやっている考えと変わらないような気がしています。
補足情報
JavaScript(Node.js 12.16.1)使用
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/27 05:28