생성일: 2020년 01월 04일
수정일: 2023년 08월 25일
수정일: 2023년 08월 25일
4clojure - Symmetric Difference (88)
문제
(= (__ #{1 2 3 4 5 6} #{1 3 5 7}) #{2 4 6 7})
(= (__ #{:a :b :c} #{}) #{:a :b :c})
(= (__ #{} #{4 5 6}) #{4 5 6})
(= (__ #{[1 2] [2 3]} #{[2 3] [3 4]}) #{[1 2] [3 4]})
풀이
(fn symdiff [set1 set2]
(set (concat (apply disj set1 set2) (apply disj set2 set1))))
disj라는 함수가 있는데 이것은 conj와 다르게 내부에 있는 값을 제거 하는 함수이다. 그 사용법을 응용을 한 것이고, 해당 collection의 값을 제거하는 것도 가능하다.