#1981. 日期修正问题
日期修正问题
题目背景
the8 在纸上写下了一个日期,形式为 MM-DD
,其中 MM
与 DD
都是两位数字,分别表示月和天。然而,这个日期并不一定存在。the8 找来了 the9,要求他更改若干位上的数字,使得这个日期存在。请你帮the9 算算他最少需要更改几位数字。
题目描述
给定一个日期字符串,形式为 MM-DD
,其中 MM
表示月份,DD
表示天数。这个日期可能不存在,例如 02-30
或 13-01
。the9 需要更改这个日期中的某些数字,使得它成为一个合法的日期。请你计算the9最少需要更改多少位数字。
注意:
- 2 月固定为 28 天。
- 合法的月份范围是 1 到 12。
- 合法的天数范围根据月份不同而不同:
- 1, 3, 5, 7, 8, 10, 12 月有 31 天。
- 4, 6, 9, 11 月有 30 天。
- 2 月有 28 天。
输入格式
输入一行,一个五个字符的字符串,表示 MM-DD
。
输出格式
输出一行,一个整数,表示 Bob 最少需要更改多少位数字。
样例
样例 #1
样例输入:03-32 样例输出:1
解释:
将 DD
的 3 改为 2,得到 03-22
,这是一个合法的日期。
样例 #2
样例输入:02-39 样例输出:1
解释:
将 DD
的 9 改为 8,得到 02-28
,这是一个合法的日期。
样例 #3
样例输入:67-89 样例输出:2
解释:
将 MM
的 6 改为 0,DD
的 9 改为 1,得到 07-01
,这是一个合法的日期。
提示
- 对于 100% 的数据,输入字符串的长度为 5,且
MM
和DD
都是两位数字。 - 可能存在多种更改方式,只需要输出最少需要更改的位数。