Category Archives: Lisp / Scheme

Halloween Party Problem Solution in Lisp

The problem: Alex is attending a Halloween party with his girlfriend Silvia. At the party, Silvia spots a giant chocolate bar. If the chocolate can be served as only 1 x 1 sized pieces and Alex can cut the chocolate bar exactly K times, what is the maximum number of chocolate pieces Alex can cut […]

Solution to Gem Stones Problem Using Lisp

The problem: My Solution in Common Lisp (defun processString (line position)   (if (< position (length line))     (progn       (setf (nth (- (char-code (char line position)) 97) gemArray) (+ (nth (- (char-code (char line position)) 97) gemArray) 1))       (processString line (+ position 1))     ))) (defun outputResult (position n)   (if (< position 26)     (if (eql (nth position gemArray) […]

Utopian Tree Solution Using Lisp

The following problem comes from HackerRank: —– The Utopian tree goes through 2 cycles of growth every year. The first growth cycle of the tree occurs during the monsoon, when it doubles in height. The second growth cycle of the tree occurs during the summer, when its height increases by 1 meter. Now, a new […]

Should I Learn Common Lisp or Scheme?

First of you, if you are considering to learn functional programming, I highly recommend it. It’s one of the few programming paradigms that is really different from the usual imperative/procedural style. Depending on the language you choose it will definitely force you to think about programming in new ways. Lisp is a great choice for […]

How to Run Scheme Programs from the Command Line

Since I started playing around with Lisp (Scheme dialect initially) I have been trying to find the simplest way possible to run my programs directly from the command line. MIT-Scheme allows you to load files with Scheme code, but you need to run it from inside the program, so not very practical. I also tried […]

Square Root Algorithms in Scheme

I am playing around with Lisp (Scheme dialect in this case), so I decided to write some square root algorithms. Here’s the first naive version I wrote. As you can see it only works with perfect squares (the first argument should always be 1, as it starts looking with it; the second argument is the […]