TopCoder - SRM 424 DIV 2: 250
今回も英語に苦しみました・・・。英語勉強しないとですね。今回の問題は英大文字の文字列の中から、'A'と'Z'を抜き出し、その文字列の中で順番を反転するというもの。コードはソースコードビューアに保存しました。いつも思うけどおれのコードは長い。
public class MagicSpell {
public String fixTheSpell(String spell) {
char[] c = spell.toCharArray();
int r = c.length;
for (int i=0;i<c.length;i++) {
if (c[i]=='A'||c[i]=='Z'){
System.out.println("i:"+c[i]);
for (int j=r;j>0;j--) {
if (c[j-1]=='A'||c[j-1]=='Z'){
System.out.println("j:"+c[j-1]);
char temp = c[j-1];
c[j-1]=c[i];
c[i]=temp;
r=j-1;
break;
}
}
}
if (i>=r-1) {
break;
}
}
return new String(c);
}
}
コメント
コメントを投稿