Coding_Gamesメモ_Detective_Pikaptcha_EP1

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

System.err.println( );

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

内容

マスごとに進行可能な方向が何方向あるか出力する

ルール

マップ上で1マスごとに上下左右の内、何方向に進めるかを出力する

インプット

1行目 マップの幅(width) と、奥行き(height)
2行目から 0 と# の文字列で作られたマップ
(0) は通行可能なマス
(#) は壁、通行不可能

アウトプット

インプットの2行目からのマップの0を通行可能な方向の数字に直して出力

インプット

5 3  
0000#
#0#00
00#0#

アウトプット

1322#
#2#31
12#1#

使用したクラス

StringBuilder

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

StringBuilder.replace(x , y , str )
(int)x 文字目から(int)y 文字目を(String)str で置き換える
x = y の時はinsertと同じ動作になる

String

(String) = String.valueOf(x); x をStringの文字列として出力( String.valueOf(123) → "123" )

考え方
x 列のy 文字目が'#' 以外の時、上下左右に'#' 以外のマスがどれだけあるか探す

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