Coding_Gamesメモ_ASCII_Art

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

System.err.println( );

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

内容

入力された文字列をAAに変換する。

ルール

インプットの
1行目 AAの横幅
2行目 AAの高さ
3行目 変換する文字列
4行目以降 使用するAAがABCDEFGHIJKLMNOPQRSTUVWXYZ? の順番で並ぶ。

小文字は大文字に変換すること。
アルファベット以外の文字はすべて?に変換すること。

使用したクラス

HashMap

キーとデータを紐づけて記録できる

HashMap<キーの型 , データの型>

String

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

(char[]) = String.toCharArray()
文字列をchar配列として出力する

(String) = String.valuOf()
文字や数字をString型に変換する。

(boolean) = String.matches(str)
文字列が指定された正規表現と一致するか判定する。

(String) = String.toUpperCase()
文字列を大文字に変換する。

(char) = String.charAt(x) x はint型
指定された場所の文字をchar型で出力する。

考え方
文字とAAを1文字づつ紐づけて、
変換したい文字列を1文字づつAAに変換し、出力文字列に足していく。

文字列操作を多用するときはStringBuilderを使うと高速化できるようです。

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
Stringと StringBuilder | じっくり学ぶ Java講座 [初心者向け・入門]:https://www.milk-island.net/document/java/kihon/i2/