Hari dalam seminggu dan bulan dalam setahun tampaknya mendapat banyak perhatian tetapi tampaknya tidak ada yang peduli dengan minggu dalam setahun. Saya percaya ini saatnya untuk mengubahnya, jadi tugas Anda adalah menulis program atau fungsi yang ketika diberi tanggal menghasilkan bilangan bulat antara 1 dan 53 yang sesuai dengan minggu berjalan tahun ini.
Untuk keperluan tantangan ini, kita akan mengatakan bahwa hari Minggu pertama tahun itu menandai awal tahun sehingga satu - satunya kasus ketika 1 Januari dianggap sebagai minggu 1 adalah ketika jatuh pada hari Minggu.
- Input dapat berupa format tanggal apa pun yang tidak secara eksplisit menyertakan nomor minggu (cukup cantumkan format dalam jawaban Anda) untuk tanggal antara
1JAN1900
dan31DEC2100
. - Output adalah bilangan bulat antara 1 dan 53
- Anda dapat menggunakan metode standar apa pun untuk menyediakan input / output.
Uji Kasus
17MAY2017 -> 20
3JAN2013 -> 53
1JAN2017 -> 1
17MAY1901 -> 19
31DEC2100 -> 52
7JUL2015 -> 27
- Ini adalah kode-golf sehingga semua aturan standar golf berlaku, dan kode terpendek (dalam byte) menang.
07/07/2015
)? Bisa 7JUL2015
menjadi 07JUL2015
?
7/7/2015
, 2015-07-07
juga valid.
%U
: Seperti yang ditunjukkan oleh @J_Lard, Anda perlu berhati-hati mengenai apakah minggu 0 adalah minggu 52 atau 53 tahun sebelumnya. Ini minggu ke 53 pada tahun 2001, 2007, 2013, 2018, 2024, 2029 dan berulang dalam siklus 28 tahun. Tahun-tahun lain minggu ke 52.