aboutsummaryrefslogtreecommitdiff
path: root/racket/leetcode/lc-476-number-complement.rkt
blob: 724bb4708e7321a18e52715ba89e39507047ea06 (plain)
1
2
3
4
5
6
7
8
9
10
11
#lang racket

(define (flip-bit bit)
  (cond [(char=? bit #\1) #\0]
        [(char=? bit #\0) #\1]))

(define/contract (find-complement num)
  (-> exact-integer? exact-integer?)
  (define num-binary-list
    (string->list (number->string num 2)))
  (string->number (apply ~a (map flip-bit num-binary-list)) 2))