생성일: 2019년 10월 24일
수정일: 2023년 09월 29일

4clojure - Nth Element (21)

  1. 문제
  2. 풀이

문제

(= (__ '(4 5 6 7) 2) 6)

(= (__ [:a :b :c] 0) :a)

(= (__ [1 2 3 4] 1) 2)

(= (__ '([1 2] [3 4] [5 6]) 2) [5 6])

제한: nth

풀이

(fn mynth [x cnt] 
	(if (= cnt 0) (first x) 
	(mynth (rest x) (- cnt 1))))

풀었던 문제들을 다시 정리를 하면서 좀 더 짧은 방법을 정리를 하는 것이 맞는 것인가를 생각을 하게되었지만 지금 나의 현재 실력을 보는 것도 중요하다는 생각이 들었다. 문제를 풀고 나서 해답을 보는데 왜 나는 저런 방법을 생각하지 못했을까?를 생각하게 되는 계기가 되는 것 같다. recursive를 하면서 index를 조회하여 값을 가져오는 방법으로 문제를 풀었다.

solution에서는 drop을 사용하여 문제를 해결하는 방식이 있었다. drop의 용도는 첫번째부터 갯수만큼 버리는 함수이다.

(drop 2 '(4 5 6 7))
;; (6 7)
Tags: 4clojure Today I Learn