Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Input: List of meetings
- Output: Can conference room fit all the meetings
- class Meeting
- attr_accessor :start_time
- attr_accessor :end_time
- def does_not_overlap?(start_time, end_time)
- self.start_time < start_time && self.end_time < end_time ||
- self.start_time > start_time && self.end_time > end_time ||
- end
- end
- class ConferenceRoom
- attr_accessor :meetings
- def initialize
- self.meetings = []
- end
- def bulk_schedule(list_of_meetings)
- currently_scheduled_meetings = self.meetings
- list_of_meetings.each do |meeting|
- self.meetings.each do |scheduled_meeting|
- if currently_scheduled_meetings.does_not_overlap?(meeting)
- schedule(meeting)
- else
- raise "Conference room can't fit all meetings"
- end
- end
- end
- end
- def schedule(meeting)
- self.meetings << meeting
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement