challenge 重複する要素を取り除く

与えられたリストxsの中から、 2回以上出現するものを全部取り除いてください。

サンプル入力
[3, 1, 4, 1, 5, 9, 2, 6, 5]
サンプル出力
[3, 4, 9, 2, 6]

これはアレイのuniqの派生問題です。 リストとかアレイという言葉は言語によってまちまちの意味で使われているので、 「配列のようなもの」という漠然とした意味にとって構いません。

Posted feedbacks - Common Lisp


	
1
2
3
(defun only-unique (list)
  (remove-if (lambda (x) (>= (count x list) 2)) list))
(only-unique '(3 1 4 1 5 9 2 6 5))      ; => (3 4 9 2 6)

member二回で濾過してみました。
1
2
3
4
(defun uniq-only (lst)
  (remove-if (lambda (item)
	       (member item (cdr (member item lst))))
	     lst))

Index

Feed

Other

Link

Pathtraq

loading...