Easy Peasy and classic coding. There are a few ways to do this. Personally Like strings because of the small object it represents. but we will go with arrays.
You have an array with size = NumRooms
Repeat NumOfRooms
Array.Set(0) to loopindex
boom you have your list of rooms. Next step and here is the magic.
// get a random index from remaining rooms
var index = floor( Random( 0, Array.Size ) )
// get the room number from the array at index
var roomToLoad = Array.Get( index )
// remove the value at index position so it doesn't happen again.
Array.RemoveAt( index )
You have now mastered Construct 2
As a warning. This is Psuedo Contrsuct 2 terms. I could have the terms wrong. Such as RemoveAt could in fact could be PopAt, DeleteAt... or something else. Also i think think Array.Size should probably be Array.Width. C2 naming is kinda wierd.