Assumptions:
- All characters (including caps, spaces, and final period) as in original message. Don't want to risk misunderstanding message just to save a character
- Stop 1 second on each card selected (though I have to think there is a light or something they could turn on to indicate the selection)
- Shortest distance to subsequent card
- Repeat cards have no distance between them (as opposed to 360 degrees) - a bit of a cheat unless there is a light or other indicator
My solution was 9 seconds longer, but heck, he was there something like 18 months as I recall, so this was probably great entertainment for him
Process:
- Tokenize (split to rows) using (\w|\W)
- Add RecordID
- Dynamic Rename hex table
- Join Response to Symbol
- Sort by RecordID
- Split two hex characters (split to rows) using (\w)
- Add RecordID
Lower thread....
- Add RecordID
- Count records
- Divide 360 by # of records (this is the angle between cards)
Join threads....
- Join Hex to Cards
- Sort by RecordID
- Create field CardNum by adding 1 to Right_RecordID since Hex starts at 0 (should have just joined to Right_RecordID in the first place)
- Calculate angle travelled between cards selected
- Append camera angle speed to thread
- Calculate Angle travelled (shortest distance if greater than 180)
- Calculate seconds (Angle / 4) + 1
- Sum of seconds
- Divide by 60 for Minutes