(´・ω・`) < MANHATTAN
指定された文字列をアスキーアートで表現する問題。
文字列の抽出ができるなら、できると思う。
using System; using System.Linq; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; /** * Auto-generated code below aims at helping you parse * the standard input according to the problem statement. **/ class Solution { static void Main(string[] args) { int L = int.Parse(Console.ReadLine()); //ASCII Art 1文字の幅 int H = int.Parse(Console.ReadLine()); //ASCII Art 1文字の高さ string T = Console.ReadLine(); //ASCII Artに変換する文字列 string answer = ""; //ASCII Artに変換した文字列 for (int i = 0; i < H; i++) { string ROW = Console.ReadLine(); //ASCII Art一列分を読み込む for(int j = 0; j < T.Length; j++) { int num = CharToNumber(T[j]); //文字が何番目か番号を取得 answer += ROW.Substring(num*L, L); //文字を抽出して加えていく } answer += Environment.NewLine; //改行 } // Write an action using Console.WriteLine() // To debug: Console.Error.WriteLine("Debug messages..."); Console.Error.WriteLine("debug:param"); //デバッグ用 Console.Error.WriteLine("L:"+L); Console.Error.WriteLine("H:"+H); Console.Error.WriteLine("T:"+T); Console.Error.WriteLine(""); Console.WriteLine(answer); } //何番目の文字か取得する //引数 char c : 番号を取得する文字 //戻り値 int : 文字の番号 public static int CharToNumber(char c) { if(c >= 'a' && c <= 'z') { //小文字の処理 return c - 'a'; } else if(c >= 'A' && c <= 'Z') { //大文字の処理 return c - 'A'; } else { //その他の場合は?を表示させる return 'Z' - 'A' + 1; } } }
(´・ω・`) < テスト項目のMANHATTAN押しが強すぎる
1000コンパクトピース ニューヨークシティ マンハッタン (38x53cm)
- 出版社/メーカー: やのまん
- 発売日: 2012/06/24
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る