paizaのスキルチェックやってみた(0)
記事の定期投稿がんばります!
paiza
本日は深夜にapacheの設定やってたら眠りに着きそうだったのでpaizaのスキルチェックをやってみました。
正直、paizaのシステムはよくわかってないですが何か息抜きが欲しかったんです。
今回は、回答コードを一部抜粋し、自身にダメ出ししようと思います。 まずは、下記コードを貼ります。
コード掲載
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println(convertForLeet(br.readLine()));
}
private static String convert(String line) {
Map<String,String> map = new HashMap<String,String>();
map.put("kuriya0909", "tokyo");
// ...
for (String key : map.keySet()) {
line = line.replaceAll(key,map.get(key));
}
return line;
}
スキルチェックの仕様
そもそもスキルチェックの仕様がわからないとレビューのしようがないですよね。
下記のテスト方法とチェック項目から点数を算出します。
テスト方法
- 実装したコードを複数パターンのテストケースで実行
チェック項目
- アサーション
- 速度
- 境界値(not required)
類似するシステムとして会津大学のAIZU ONLINE JUDGEがあります。
ダメ出し
下記箇条書きで記述
- メソッド内で変数(map)を定義
- 今回変数(map)は定数だったので、final修飾子を使用すべき
- 対応表をHashMapでやってよかったか(疑問)
- 全パターンを置換処理するのではなく、一括置換とか出来なかったのか
一番宜しくないのはメソッド内に変数(map)を定義してることですかね。
定数なんだからメソッドで定義するもんじゃない。