D1_2056. 연월일 달력
문제:
연월일 순으로 구성된 8자리의 날짜가 입력으로 주어진다.
해당 날짜의 유효성을 판단한 후, 날짜가 유효하다면
[그림1] 과 같이 ”YYYY/MM/DD”형식으로 출력하고,
날짜가 유효하지 않을 경우, -1 을 출력하는 프로그램을 작성하라.
연월일로 구성된 입력에서 월은 1~12 사이 값을 가져야 하며
일은 [표1] 과 같이, 1일 ~ 각각의 달에 해당하는 날짜까지의 값을 가질 수 있다.
※ 2월의 경우, 28일인 경우만 고려한다. (윤년은 고려하지 않는다.)
입력:
테스트 케이스의 개수 T
각 테스트 케이스가 주어진다.
출력:
날짜가 맞으면 “YYYY/MM/DD” 형식으로 출력
아니면 -1 출력
생각한 로직:
- 앞의 4자리는 년도로 아무 숫자나 다 되니까 pass
- 그 다음 2자리는 0~13 사이 숫자이어야 한다.
- 마지막 2자리는 앞의 두 자리로 결정되는 월의 일수 범위 안에 들어 있어야 한다. (배열에 가능한 일자를 넣어두고 그 수를 벗어나면 -1)
코딩:
1 |
|