#367
Schedule Optimiser
Difficulty: | Medium |
Topics: | Real life cases List of Maps |
Mission: "Schedule Optimizer" menugaskan elo untuk menyusun jadwal optimal dari list kegiatan. Setiap map dalam list mengandung :activity dan :time (dalam jam). Buatlah jadwal yang memungkinkan partisipasi maksimal dalam kegiatan dengan tidak ada kegiatan yang bersamaan. Return list kegiatan yang dipilih berdasarkan waktu awal mereka.
(= (__ [{:activity "A" :time 2} {:activity "B" :time 3} {:activity "C" :time 1}]) ["C" "B"]) ; Memilih C (1 jam) lalu B (3 jam) karena A dan B bersamaan | |
(= (__ [{:activity "X" :time 4} {:activity "Y" :time 2} {:activity "Z" :time 2}]) ["Y" "Z"]) ; Memilih Y dan Z karena totalnya 4 jam, sedangkan X sendirian 4 jam | |
(= (__ []) []) | |
(= (__ [{:activity "Study" :time 1} {:activity "Workout" :time 1} {:activity "Read" :time 1}]) ["Study" "Workout" "Read"]) ; Semua aktivitas bisa dijadwalkan tanpa bersamaan |