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