SW Expert Academy #2056. 年月日カレンダー


[Difficulty 1]

  • 質問する
    年月日順からなる8桁の日付を入力します.
    日付の有効性を決定した後、日付が有効であれば、
    2220228 --> 2222/02/28
    「YYYYY/MM/DD」形式で出力します.
    日付が無効な場合は、出力-1のプログラムを作成します.
    (年月日からなる入力については、月は1~12の間でなければなりません.
    日付は、毎月の該当する日付より前に値を持つことができます.)
    --2月28日のみを考慮--

  • 入力
    5
    22220228
    20150002
    01010101
    20140230
    11111111
    (最初の行のテストケースの合計数、次の行の各テストケースの提供開始)

  • しゅつりょく
    #1 2222/02/28
    #2 -1
    #3 0101/01/01
    #4 -1
    #5 1111/11/11
    (試験例tの結果は「#t」、スペース、答え出力)

  • code
  • T = int(input())
    for test_case in range(1, T+1):
        T = input()
        if int(T[4:6]) >= 1 and int(T[4:6]) <= 12:
            if int(T[4:6]) == 2:
                if int(T[6:]) <= 28:
                    print(f'#{test_case} ' + T[:4]+'/'+T[4:6]+'/'+T[6:])
                else: print(f'#{test_case} -1')
            elif int(T[4:6]) == 4 or int(T[4:6]) == 6 or int(T[4:6]) == 9 or int(T[4:6]) == 11:
                if int(T[6:]) <= 31:
                    print(f'#{test_case} ' + T[:4]+'/'+T[4:6]+'/'+T[6:])
                else: print(f'#{test_case} -1')
            else:
                if int(T[6:]) <= 30:
                    print(f'#{test_case} ' + T[:4]+'/'+T[4:6]+'/'+T[6:])
                else: print(f'#{test_case} -1')
        else: print(f'#{test_case} -1')