今日のTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。
問題について説明する。letter-stringというのは、A-Z、a-zの52文字のアルファベットと"-"から成り立っている。letter-stringの長さは"-"を文字列から取り除いたものである。letter-stringである文字列型の配列sが与えられたときに、それらの文字列の長さを返すメソッドを作成せよ。
私の解答は以下の通り。"-"を空文字に置き換えて長さを足すという方針をとった。
public class LetterStrings {
public int sum(String[] s) {
int total = 0;
for(int i=0 ; i<s.length ; i++){
String ss = s[i].replaceAll("-","");
total += ss.length();
}
return total;
}
}
得点は247.79/250。正解率は約98%。全体の解答を見ていると、charAtメソッドを用いて、'-'でなければ長さを格納する変数に1ずつ値を加えるという方法をとっている人が多かった。中身を変えるのを嫌うのであれば、charAtを利用する方が賢明だろう。

0 件のコメント:
コメントを投稿