CommonLisp / LeetCode "1614. max nesting depth of the parentheses"

Posted on Oct 20, 2020

작성한 코드

  (defun max-nested-parentheses (s)
    (declare (optimize (speed 3) (safety 0))
             (type simple-string s))
    (loop with n fixnum = 0
          for ch across s
          when (member ch '(#\( #\)))
          do (incf n (if (eql #\( ch) 1 -1))
             maximizing n))

코드 의도

  1. 우아한 코드보다는 공간복잡도가 O(1) 이고 싶었다.

Edit

  1. SBCL에 맞춰 코드에 타입을 지정해줘봤다.

    1. 결과 어셈블리 코드가 조금 짧아졌다.