ধরুন, "YYYY-MM-DD" ফরম্যাটে আমাদের একটি তারিখ আছে। বছরের দিন সংখ্যা ফেরত দিতে হবে। তাই তারিখ যদি হয় “2019-02-10”, তাহলে এটি বছরের 41তম দিন।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- ধরুন D হল দিনের গণনার একটি অ্যারে যেমন [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
- তারিখকে বছর, মাস এবং দিনের তালিকায় রূপান্তর করুন
- যদি বছরটি লিপ ইয়ার হয় তাহলে তারিখ নির্ধারণ করুন D[2] =29
- মাস মিমি পর্যন্ত দিন গণনা যোগ করুন - 1. এবং তার পরে দিন গণনা।
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
class Solution(object):
def dayOfYear(self, date):
days = [0,31,28,31,30,31,30,31,31,30,31,30,31]
d = list(map(int,date.split("-")))
if d[0] % 400 == 0:
days[2]+=1
elif d[0]%4 == 0 and d[0]%100!=0:
days[2]+=1
for i in range(1,len(days)):
days[i]+=days[i-1]
return days[d[1]-1]+d[2]
ob1 = Solution()
print(ob1.dayOfYear("2019-02-10")) ইনপুট
"2019-02-10"
আউটপুট
41