復習 - カレンダーグリッド
CoddyのSwiftジャーニー「ロジックとフロー」セクションの一部 — レッスン 11/56。
チャレンジ
中級3つの行から3つの整数を読み取ります:days(月の総日数、28から31)、start_dow(0 = 月曜日 … 6 = 日曜日、1日が当たる曜日)、および cols(表示する列数)です。
カレンダーのグリッドを出力してください:
- 最初の行は、曜日が一致するまで
--エントリで埋めます(先行するスロット1つにつき--を1つ使用) 1からdaysまでの各日付を、2文字幅で出力します(1桁の日付には1、10のように先頭にスペースを使用します)- 行内のセル間には半角スペースを1つ使用します
- (パディングを含めて)
colsエントリごとに行を折り返します
入力が 30 / 2 / 7 の場合、出力は以下のようになります:
-- -- 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30自分で試してみよう
let days = Int(readLine()!)!
let startDow = Int(readLine()!)!
let cols = Int(readLine()!)!
// TODO: セルのフラットな配列("--" + 日付文字列)を作成し、
// その後、`cols` 個のセルを半角スペースで結合した行を出力する