문제
연월일 순으로 구성된 8자리의 날짜가 입력으로 주어진다.
해당 날짜의 유효성을 판단한 후, 날짜가 유효하다면
2220228 --> 2222/02/28
과 같이 "YYYY/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')