1년 Y와 월 M이 있다고 가정하면 해당 연도에 해당 월의 일 수를 반환해야 합니다. 따라서 Y =1992이고 M =7이면 결과는 31이 되고 연도가 2020이고 M =2이면 결과는 29가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- m =2이면
- y가 윤년이면 29를 반환하고 그렇지 않으면 28을 반환합니다.
- 요소 [1,3,5,7,8,10,12]로 배열 만들기
- m이 목록에 있으면 31을 반환하고 그렇지 않으면 30을 반환합니다.
예제(파이썬)
더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −
class Solution(object): def numberOfDays(self, y, m): leap = 0 if y% 400 == 0: leap = 1 elif y % 100 == 0: leap = 0 elif y% 4 == 0: leap = 1 if m==2: return 28 + leap list = [1,3,5,7,8,10,12] if m in list: return 31 return 30 ob1 = Solution() print(ob1.numberOfDays(2020, 2))
입력
2020 2
출력
29