Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. Input: List of meetings
  2.  
  3. Output: Can conference room fit all the meetings
  4.  
  5. class Meeting
  6. attr_accessor :start_time
  7. attr_accessor :end_time
  8.  
  9. def does_not_overlap?(start_time, end_time)
  10. self.start_time < start_time && self.end_time < end_time ||
  11. self.start_time > start_time && self.end_time > end_time ||
  12. end
  13. end
  14.  
  15. class ConferenceRoom
  16. attr_accessor :meetings
  17.  
  18. def initialize
  19. self.meetings = []
  20. end
  21.  
  22. def bulk_schedule(list_of_meetings)
  23. currently_scheduled_meetings = self.meetings
  24. list_of_meetings.each do |meeting|
  25. self.meetings.each do |scheduled_meeting|
  26. if currently_scheduled_meetings.does_not_overlap?(meeting)
  27. schedule(meeting)
  28. else
  29. raise "Conference room can't fit all meetings"
  30. end
  31. end
  32. end
  33. end
  34.  
  35. def schedule(meeting)
  36. self.meetings << meeting
  37. end
  38. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement