ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

【プログラミングコンテスト】AtCoder Beginner Contest 119①

つい1時間前に本試験でこの問題をリアルで解いてました、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/abc119)にて開催されました、AtCoder Beginner Contest 119の第1回目です。

今回は、第1問「A - Still TBD」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

1.問題文

文字列 S が入力されます。これは、西暦 2019 年の実在する日付を yyyy/mm/dd の形式で表したものです。(例えば、 2019 年 4 月 30 日は 2019/04/30 と表されます。)

S が表す日付が 2019 年 4 月 30 日またはそれ以前なら Heisei、そうでなければ TBD と出力するプログラムを書いてください。

2.初見の感想

  • 年、月、日にパースして条件分岐で解けそうですね
  • 条件は年、月、日知の順で入れ子にして分割します

3.学びポイント

  • 僕は数字にパースして解いたんですが、「パースせずに単純文字比較で解く」というストロングスタイルもあるらしいですよ(笑)

4.全コード

class Program
    {
        static void Main(string[] args)
        {
            string[] temp = System.Console.ReadLine().Split('/');
            int year = int.Parse(temp[0]);
            int month = int.Parse(temp[1]);
            int day = int.Parse(temp[2]);
            if (year < 2019) { System.Console.WriteLine("Heisei"); }
            else if(year>2019){ System.Console.WriteLine("TBD"); }
            else
            {
                if (month < 5) { System.Console.WriteLine("Heisei"); }
                else { System.Console.WriteLine("TBD"); }
            }
        }
    }

5.最後に

先週の問題も早めに解きたいですね…