kiwi_charm   1년 전

문제

날짜는 종종 일, 월, 연도를 뜻하는 일련의 숫자로 표현되곤 합니다. 예를 들자면, 2004년 8월 14일은 '14 8 2004'로 표현할 수 있습니다. 당신이 만들어야할 프로그램은 위와 같은 방식으로 날짜를 입력받되, 해당 숫자가 날짜로서 유효한 숫자인지 판단해야 합니다.

날짜의 잘못된 입력에는 무엇이 있을까요? 다음과 같은 몇 가지 예시로 알아봅시다.

12 0 2004 : 0월은 존재하지 않습니다.

32 1 1976 : 1월에는 32일이 없습니다.

29 2 1974 : 1974년은 윤년이 아니기 때문에 2월 29일이 없습니다.

다행스럽게도 당신은 이미 4월, 6월, 9월, 11월은 30일까지, 2월은 28일(윤년의 경우에는 29일)까지 존재하며, 그 외 나머지 달은 31일까지 있다는 사실을 이미 알고 있습니다. 윤년의 경우, 해당 년도가 4로 나누어 떨어지면서 100으로는 나누어 떨어지지 않거나 혹은 400으로 나누어 떨어진다면 해당 년도는 윤년임을 알 수 있습니다.

입력

입력은 여러 개의 테스트 케이스로 구성되어 있으며, 맨 마지막 줄에는 0 0 0이 주어집니다. 해당 줄은 처리하지 않습니다.

각 테스트 케이스는 공백으로 구분된 음이 아닌 세 개의 정수로 구성되며, 순서대로 일, 월, 연도를 나타냅니다.

(일, 월은 항상 100보다 작고, 연도는 1700 이상 2200 이하의 수로 주어집니다.)

출력

입력된 일련의 숫자가 날짜로서 유효한 경우 'Valid'를, 그렇지 않다면 'Invalid'를 출력합니다.

preview

댓글을 작성하려면 로그인해야 합니다.