Web系エンジニアのアウトプット練習場スマートフォン用の表示で見るWeb系エンジニアのアウトプット練習場エンジニアリングと書評が中心。Coderとは?前回の記事を参考にどうぞ。#727に初参戦しました。Points獲得しましたが、Level2はテストが通ってSubmitはできたものの、チャレンジで撃墜されました。Level3は難しくて解けませんでした。TopCoderの問題文と私の解答コードはGitHub上で公開しました。時間を見つけて復習、修正を行いたいと思います。競技プログラミングは文字列の操作が多そうだという印象がありそうだったので、言語はPythonを選択してみたのですが、Pythonのコレクションクラスのメソッドをよく知らず、リファレンス検索に結構時間を喰ってしまったのが痛かったと思います。コレクションクラスは基本中の基本となるクラスなので、どんな関数があるか見てみようと思いました。あとは探索のアルゴリズム等をほぼ忘れてしまっているので復習が必要ですね。問題についてLevel1AからZで構成された文字列から1文字だけ抜いて、ある文字を連続させることができるなら'Possible'を、どの文字を抜いても連続させることができなかったらImpossibleを返せという問題でした。私の解答は以下になります。2]を満たすSであれば'Possible'を返す、という方法でやっている方が多かったように思います。問題文の条件でSの長さはたかだか50文字と決まっており、僕のやり方でも問題ないのですが、他の方のやり方の方が効率が良いですね。Level2問題でいくつかxy平面上の点が与えられ、45度に傾いている2本の直線を使って最大何点を通すことができるでしょうかという問題でした。