สมมติว่าเรามีปี 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
ตัวอย่าง (Python)
มาดูการนำไปใช้เพื่อความเข้าใจที่ดีขึ้น −
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