このTopCoderの問題はこちらで見ることができる(要TopCoder登録 & 問題文は英語)。問題文についておおまかに説明する。
あるボリビア人がquestions[]という文字列の内容のインタビューをボリビアで有名なジョンにしたが、インタビューの回答を紛失してしまった。なお、質問の内容はすべてYesまたはNoで答えられるものである。同じ質問をしていることがあるが、ジョンはすべて常に同じ回答をしている。さて、そのボリビア人は質問の内容から回答のパターンをすべて書き出そうとしているのだが、それは全部で何通りになるか計算して返せ。
私の解答はこちら。
import java.util.ArrayList;
public class TheQuestionsAndAnswersDivTwo {
public int find(String[] questions) {
ArrayList<String>al = new ArrayList<String>(); // ユニークな質問の文字列をすべて記録
for( int i=0 ; i<questions.length ; i++ ){
if( al.contains(questions[i]) == false ) al.add(questions[i]);
}
return (int)Math.pow(2, al.size());
}
}
得点は243.23/250、1回のsubmitでシステムテストクリア。質問の種類数をカウントすればあとは簡単。

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