Coding_Gamesメモ_Brick in the Wall
Coding_Gamesメモ_Brick in the Wall
javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:
System.err.println( );
を使うとデバックしやすくなる。(エラー出力は評価に影響しない)
内容
壁を作るための最小の労力を計算する
ルール
高さ6.5cm のレンガをN個持っている。
レンガをX個並べて積み上げ、壁を作りたい
W = ( (L -1) *6.5 /100 ) *g *m
の式を使い作業に必要な最小の仕事量を出力
W : 仕事量
L : そのレンガを配置する段数
g : 重力加速度g = 10m/s
で計算
m : レンガの重量(Kg)
インプット
1行目 1段あたりのレンガの数 X
2行目 作業に使用するレンガの数 N
3行目 スペース区切りのレンガの重量(Kg) m
アウトプット
最低限の仕事量、小数点以下3桁まで表示
使用したクラス
String
(String) = String.format( (String)x , y )
制御文字列x を使ってy を変換する
%
制御文の開始を宣言するf
yがfloatなどの時、%.Nf
の形で使うと小数点以下をN桁出力する
詳細クラスFormatter:https://docs.oracle.com/javase/jp/8/docs/api/java/util/Formatter.html
Arrays
(配列) = Arrays.sort( (配列) ) 配列の内容を昇順に並び替える
計算式によると、1段目は地面に並べられている (仕事量0) 最小の労力を計算するので、重いレンガを下に、軽いレンガを上に積み上げると考える考え方
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
Coding_Gamesメモ_7-segment_scanner
Coding_Gamesメモ_7-segment_scanner
javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:
System.err.println( );
を使うとデバックしやすくなる。(エラー出力は評価に影響しない)
内容
7セグメント表示の数字を普通の数字に変換する
ルール
3行* 3列の7セグメント表示の数字の内容を出力
インプット
1行目 ~ 3行目 3行* 3列の7セグメントの文字列
アウトプット
7セグメントの内容を出力
使用したクラス
StringBuilder
(StringBuilder) = StringBuilder.append( x )
x はboolean,char,int,String,Objectなど
文字列の後ろにxを追加する
1文字ごとに各セグメントの使用状況を調べて1から順番に判定していく 8の判定方法が簡単ではないため、順番を最後にすると楽考え方
//セグメントの位置
// 0
// 123
// 456
//
// セグメントを使用している数字 : 使用していない数字
// 0 0 23 56789 : 1 4
// 1 0 456 89 : 123 7
// 2 23456 89 : 01 7
// 3 01234 789 : 56
// 4 0 2 6 8 : 1 345 7 9
// 5 0 23 56 89 : 1 4 7
// 6 01 3456789 : 2
Coding_Games:https://www.codingame.com/
Coding_Gamesメモ_Count_as_I_count
Coding_Gamesメモ_Count_as_I_count
javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:
System.err.println( );
を使うとデバックしやすくなる。(エラー出力は評価に影響しない)
内容
モルックで勝てるパターンの数を探す
ルール
モルックのルールで現在の点数から4ターン以内に50点になるパターンの数を出力
インプット
1行目 現在の点数 (N)
アウトプット
4ターン以内に50点になるパターンの数を出力
4ターン分 ✕ 12+11パターン(12種類のピン1本だけ倒す+2つ以上のピンを倒す)を総当りする考え方
Coding_Games:https://www.codingame.com/ 日本モルック協会 モルックとは:https://molkky.jp/molkky/
Coding_Gamesメモ_Rugby_score
Coding_Gamesメモ_Rugby_score
javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:
System.err.println( );
を使うとデバックしやすくなる。(エラー出力は評価に影響しない)
内容
得点逆引き
ルール
ラグビーの得点がN ポイントになるには
トライ(5点)
トライ後のゴール(2点)
ペナルティゴール、ドロップゴール(3点)
をそれぞれ何回得れば良いか可能性があるものを全てを出力
インプット
1行目 得点 (N)
アウトプット
(5点) (2点) (3点)
の順で必要な回数を1行づつ出力
総当りでトライ、トライ後のゴール、ペナルティ(ドロップ)ゴール の点の合計がN になる組み合わせを探す 注意点は考え方
Coding_Games:https://www.codingame.com/ 日本ラグビーここにあり! ラグビーのルール(1)得点方法 :https://brave-rugby.com/rule/tokuten.html
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
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
Coding_Gamesメモ_Add'em_Up
Coding_Gamesメモ_Add'em_Up
javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:
System.err.println( );
を使うとデバックしやすくなる。(エラー出力は評価に影響しない)
内容
合成費用計算機
ルール
低ポイントのカード2枚を合成することで合計ポイントのカード1枚を手に入れることができる
しかし、それには合計ポイント分の費用がかかる
合成費用の例 1p, 2p, 3p のカードを合成 1p + 2p = 3p 3p + 3p = 6p 合計費用 3 +6 = 9 3p + 2p = 5p 5p + 1p = 6p 合計費用 5 + 6 = 11
一番低いコストですべてのカードを合成すると費用がどれぐらい必要か出力
インプット
1行目 カードの枚数 N
2行目 スペース区切りのカードのコスト
アウトプット
全てのカードを合成するための最小費用
配列から小さい数2つを探し、合計していく
考え方
Coding_Games:https://www.codingame.com/