体力的な限界&Top Coder SRM537

今日は朝帰り→仕事のルートだったので、不眠でした。
お昼は牛丼で。少し多いのでメガだったと思います。

体力的な限界&Top Coder SRM537_f0019846_11462475.jpg


作業場に誰もいないぐらいに残る。

体力的な限界&Top Coder SRM537_f0019846_11473070.jpg


雨だよー。そうかー・・・。
出てみれば霧雨でした。

体力的な限界&Top Coder SRM537_f0019846_11481093.jpg

後はjubeatちょいちょい(2クレ)やったり、プライベートストック買ってみたり。

体力的な限界&Top Coder SRM537_f0019846_11485619.jpg

3000円程度するラム酒ですが、バニラの芳醇な香りが良いです。
呑口もまろやか。40度とは思えないのでついつい飲んでしまいそうです。

こんな状況でしたが、TopCoderにも参加しました。ぎりぎりの参加だったように思います。

まずはeasy。確か名前が8文字で、母音が2つまでで、しかも同じ母音以外があるとダメだという条件を書くだけ。羅列するとソースが長くなってしまうので、短く書ける方法もあるかもしれない。

public class KingXNewBaby {

public String isValid(String name) {
int vcount = 0;
int fcount = 0;
boolean isinvalid = false;
char voyel = '0';
for(int i = 0 ; i < name.length() ; i++){
if(name.charAt(i) == 'a'){
if(voyel == '0' || voyel == 'a'){
voyel = 'a';
}else{
isinvalid = true;
break;
}
vcount++;
}else if(name.charAt(i) == 'i'){
if(voyel == '0' || voyel == 'i'){
voyel = 'i';
}else{
isinvalid = true;
break;
}
vcount++;
}else if(name.charAt(i) == 'u'){
if(voyel == '0' || voyel == 'u'){
voyel = 'u';
}else{
isinvalid = true;
break;
}
vcount++;
}else if(name.charAt(i) == 'e'){
if(voyel == '0' || voyel == 'e'){
voyel = 'e';
}else{
isinvalid = true;
break;
}
vcount++;
}else if(name.charAt(i) == 'o'){
if(voyel == '0' || voyel == 'o'){
voyel = 'o';
}else{
isinvalid = true;
break;
}
vcount++;
}else{
fcount++;
}
}
if(isinvalid == true){
return "NO";
}else if(vcount == 2 && fcount == 6){
return "YES";
}else{
return "NO";
}
}

}

mediumは通貨の問題。AとBの通貨があるけどXとYにしたい。
ただしX、YはA,Bの金貨の組み合わせの額を包含していなければいけない。
Xは与えられていて、Yが何通りあるか。組み合わせが無限ある場合は-1を返せ。
という条件分岐問題です。challengeされてしまったので、載せません。

  by ddrer-yossi | 2012-03-17 23:45 | TopCoder

<< 新たな幕開けへ 仕事のち飲み会 >>

SEM SKIN - DESIGN by SEM EXE