2012年3月1日木曜日

TopCoder SRM339 Div2 250Pts

このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。問題についておおまかに説明する。

CSSのプロパティ名はすべて小文字で単語の区切りが"-"となっているのが典型的である。しかしながら、JavaScriptを用いてCSSプロパティを設定しようとするなら、キャメルノーテーションを使う必要がある。キャメルノーテーションでは、最初の単語を除いて単語の先頭は大文字となり、隣の単語との区切り文字はない。cssPropertyNameという"-"で単語が区切られた表記が与えられたとき、それをキャメルノーテーションに書き換えたものを返せ。

私の解答はこちら。

public class CssPropertyConverter {

 public String getCamelized(String cssPropertyName) {
  String[] sp = cssPropertyName.split("-");
  StringBuffer ret = new StringBuffer();
  for( int i=0 ; i<sp.length ; i++ ){
   char[] tmp = sp[i].toCharArray();
   if( i > 0 ){ // 先頭の文字を差替
    tmp[0] = Character.toUpperCase(tmp[0]);
   }
   ret.append(tmp);
  }
  return ret.toString();
 }

}

得点は244.96/250、中央値は約222点。charの配列に変換して先頭だけ差し替えるという手法で解けたので、コーディングが簡単にできました。

0 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ

ページビューの合計