現在働いている会社ではシステムエンジニア研修の1つに「paizaBランク問題をクリア」があるのでその目標を達成するまでの過程を備忘録として残します。
業務に参加した際に記述方法を忘れてしまっているであろう未来の自分に向けて、メモを残すと同時にこの記事がC#を学習している方、同じ箇所で躓いている方の参考になればと思っています。
ですので内容に誤りがある場合やより良い記述をご存知の方はコメントで共有していただけると嬉しいです。
それでは本編に入ります。
今回はPaizaラーニング、Aランクレベルアップ問題集「マップの判定・縦横」の問題をC#で回答したときの内容になります。
STEP: 1 盤面の情報取得
問題文:https://paiza.jp/works/mondai/a_rank_level_up_problems/a_rank_snake_map_step1
paiza.cs
using System;
class Program
{
static void Main()
{
string[] asW_H_N = Console.ReadLine().Split(' ');
int iH = int.Parse(asW_H_N[0]);
int iW = int.Parse(asW_H_N[1]);
int iN = int.Parse(asW_H_N[2]);
string[,] a2D_CoordinateData = new string[iH,iW];
for(int i = 0; i < iH; i++){
string as_rowData = Console.ReadLine();
for(var j = 0; j < iW; j++){
a2D_CoordinateData[i,j] = as_rowData.Substring(j,1);
}
}
for(var i = 0; i < iN; i++){
string[] as_coordinateNum = Console.ReadLine().Split(' ');
int CoordinateData_Y = int.Parse(as_coordinateNum[0]);
int CoordinateData_X = int.Parse(as_coordinateNum[1]);
Console.WriteLine(a2D_CoordinateData[CoordinateData_Y,CoordinateData_X]);
}
}
}