今日の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 件のコメント:
コメントを投稿