No.667 Mice's Luck(ネズミ達の運)
アルゴリズムの問題を解く
今回は久しぶりにyukicoderに掲載されている問題を解きたいと思います。
No.667 Mice's Luck(ネズミ達の運) - yukicoder
レベル1.5の問題なので、特別な知識を必要とせずに解くことができます。
コンソール上に入力された文字列を読み込む必要があることと、読み込んだ文字列を一文字ずつ判別する必要がありました。
コード
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class MicesLuck { public static void main(String[] args) { String str = null; BufferedReader input = new BufferedReader ( new InputStreamReader (System.in)); try { str = input.readLine(); //System.out.println(str); } catch (IOException e) { e.printStackTrace(); } int numSafe = 0; int numDanger = 0; int numRoom = str.length(); int []Data = new int[numRoom]; for(int i = 0; i < numRoom; i++) { char c = str.charAt(i); if(c == 'o') { numSafe++; Data[i] = 0; }else if(c == 'x') { numDanger++; Data[i] = 1; } } int numRoom1 = numRoom; int numSafe1 = numSafe; System.out.println(numSafe + " " + numDanger); for(int i = 0; i < numRoom; i++) { double probability = 100.0 * (double)numSafe1 / (double)numRoom1; System.out.println(probability); numRoom1 --; if(Data[i] == 0) { numSafe1 --; } } } }