#368
The Content Merger
Difficulty: | Easy |
Topics: | Real life cases List of Maps |
Mission: "Content Merger" memerlukan keahlian lo untuk menggabungkan serangkaian konten pendidikan yang tersebar dalam beberapa dokumen. Diberikan list of maps, di mana setiap map mengandung :doc-id, :content, dan :tags. Tugas lo adalah untuk menggabungkan konten dari dokumen-dokumen yang memiliki tag yang sama, dan menyajikan hasilnya dalam map baru dengan :tags sebagai kunci dan gabungan :content (dipisahkan dengan spasi jika lebih dari satu) sebagai nilai. Pastikan konten yang digabung tidak memiliki duplikasi kata dan kata-kata diurutkan secara alfabetis dalam setiap :content yang digabung.
(= (__ [{:doc-id 1 :content "Clojure functional programming" :tags ["programming", "clojure"]} {:doc-id 2 :content "functional programming paradigms" :tags ["programming"]} {:doc-id 3 :content "Introduction to Clojure" :tags ["clojure"]}]) {"programming" "Clojure functional paradigms programming", "clojure" "Clojure Introduction functional programming to"}) | |
(= (__ [{:doc-id 1 :content "Mathematics basics" :tags ["math", "education"]} {:doc-id 2 :content "Advanced mathematics" :tags ["math"]} {:doc-id 3 :content "Educational psychology" :tags ["education"]}]) {"math" "Advanced basics mathematics", "education" "Educational Mathematics basics psychology"}) | |
(= (__ []) {}) | |
(= (__ [{:doc-id 1 :content "Physics mechanics" :tags ["science"]} {:doc-id 2 :content "Quantum physics" :tags ["science"]} {:doc-id 3 :content "Organic chemistry" :tags ["science"]}]) {"science" "chemistry mechanics Organic Physics Quantum"}) |