数値からなる行列を表す文字列が与えられたとき、その行列の行と列を返してください。
例えば、次のように改行が埋め込まれた文字列が与えられたとします。
9 8 7
5 3 2
6 6 7
これは、次の行列を表しています。
1 2 3
|---------
1 | 9 8 7
2 | 5 3 2
3 | 6 6 7
このとき、コードは次の2つを出力できるようにします。
例の行列の行は次のとおりです。
そして、その列は次のとおりです。
この演習を完了するには、データ型Matrixを作成し、EqとShowのインスタンスを定義して、次の関数を実装する必要があります。
colscolumnflattenfromListfromStringreshaperowrowsshapetransposeダミーのデータ宣言と型シグネチャはすでに用意されていますが、関数を定義し、意味のあるデータ型、newtype、または型シノニムを作成するのは自分で行う必要があります。
入力の検証は不要です。行列が長方形でない場合や、無効な文字が含まれる場合などは、そのまま失敗させてかまいません。
shapeは(rows, cols)です。