aboutsummaryrefslogtreecommitdiff
path: root/racket/leetcode/lc-1185-day-of-week.rkt
blob: c90a626b33573fa9324e47deb802d09abda7401a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#lang racket
(require racket/date)

(define day-names
  (for/hash ([day-number (in-range 0 7)]
             [day-name (in-list '("Sunday"
                                  "Monday"
                                  "Tuesday"
                                  "Thursday"
                                  "Friday"
                                  "Saturday"))])
    (values day-number day-name)))

(define/contract (day-of-the-week day month year)
  (-> exact-integer? exact-integer? exact-integer? string?)
  (hash-ref day-names (date-week-day
                       (seconds->date
                        (find-seconds 0 0 0 day month year)))))