Coding_Gamesメモ_Organic_Compounds

Coding_Gamesメモ_Organic_Compounds

javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:

System.err.println( );

を使うとデバックしやすくなる。(エラー出力は評価に影響しない)

内容

分子モデルが正しいか判定する

ルール

炭素(C) といくつかの水素(Hn) と炭化水素同士の共有結合の結合数(m) と位置関係で書かれた分子モデルが有効かどうか判定する
(全ての共有結合が埋まっていたら有効と判断)

インプット

1行目 分子モデルの行数 N
2行目から 分子モデルの文字列 COMPOUND

アウトプット

有効な場合 "VALID"
無効な場合 "INVALID"

使用したクラス

String

(String) = String.substring(x,y)
文字列の一部をコピーする。
x,yはint型
xがコピー開始位置、yは終了位置、yが指定されていなければ最後まで指定したのと同じ。

(char) = String.charAt( x )
x はint、 x番目の文字を出力

(int) = String.length()
文字列の長さを出力

(boolean) = String.equals(x); (String == x) String は == では判定できないので代わりに使用する。

Integer

(static int) = Integer.parseInt(str)
数字を表す文字列str をint に変換する
valueOf との違いはparseInt は基本のデータ型のint を出力し、valueOf はラッパークラスのInteger を出力する

Long

考え方

炭素は最大4重の共有結合ができるので
炭化水素の水素数(CHn)+ 炭化水素同士の共有結合数の合計(m) = 4
だったら有効と判断できる

Coding_Games:https://www.codingame.com/
String (Java Platform SE 8) - Oracle Cloud:https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html
Integer (Java Platform SE 8) - Oracle Cloud:https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Integer.html