Cody

# Problem 782. Some Assembly Required

Solution 1442916

Submitted on 17 Feb 2018 by J. S. Kowontan
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
x= [1 2 ; 2 3 ; 3 4 ; 4 5]; y_correct=[1 2 3 4 5]; assert(isequal(assemble_this(x),y_correct)||isequal(assemble_this(x),fliplr(y_correct)))

ans = 1 2 NaN 2 3 ans = 1 2 NaN 2 3 NaN 3 4 ans = 1 2 NaN 2 3 NaN 3 4 NaN 4 5

2   Pass
x= [1 1 2 3 ; 4 5 6 7 ; 5 4 8 3]; y_correct=[1 1 2 3 8 4 5 6 7]; assert(isequal(assemble_this(x),y_correct)||isequal(assemble_this(x),fliplr(y_correct)))

ans = 1 1 2 3 NaN 3 8 4 5 ans = 1 1 2 3 NaN 3 8 4 5 NaN 4 5 6 7

3   Pass
x=[2 3 ; 4 2 ; 3 1 ; 1 5 ; 5 9]; y_correct=[9 5 1 3 2 4]; assert(isequal(assemble_this(x),y_correct)||isequal(assemble_this(x),fliplr(y_correct)))

ans = 4 2 NaN 2 3 NaN 3 1 ans = 4 2 NaN 2 3 NaN 3 1 NaN 1 5 ans = 4 2 NaN 2 3 NaN 3 1 NaN 1 5 NaN 5 9 ans = 4 2 NaN 2 3 NaN 3 1 ans = 4 2 NaN 2 3 NaN 3 1 NaN 1 5 ans = 4 2 NaN 2 3 NaN 3 1 NaN 1 5 NaN 5 9

4   Pass
x=[10:-1:6 ; 1:5 ; 5:0.25:6]; y_correct=[1:4 5:0.25:6 7:10]; assert(isequal(assemble_this(x),y_correct)||isequal(assemble_this(x),fliplr(y_correct)))

ans = 10.0000 9.0000 8.0000 7.0000 6.0000 NaN 6.0000 5.7500 5.5000 5.2500 5.0000 ans = 10.0000 9.0000 8.0000 7.0000 6.0000 NaN 6.0000 5.7500 5.5000 5.2500 5.0000 NaN 5.0000 4.0000 3.0000 2.0000 1.0000 ans = 10.0000 9.0000 8.0000 7.0000 6.0000 NaN 6.0000 5.7500 5.5000 5.2500 5.0000 ans = 10.0000 9.0000 8.0000 7.0000 6.0000 NaN 6.0000 5.7500 5.5000 5.2500 5.0000 NaN 5.0000 4.0000 3.0000 2.0000 1.0000

5   Pass
x=[8 16 24 ; 2 4 8 ; 6 4 2]; y_correct=[6 4 2 4 8 16 24]; assert(isequal(assemble_this(x),y_correct)||isequal(assemble_this(x),fliplr(y_correct)))

6   Pass
y=ceil(rand*7)+5; ry=[rand(1,y) y]; fry=fliplr([y ry(1:end-1)]); atf=assemble_this([fry ; ry]); y_correct=[y fry]; assert(isequal(atf,y_correct)||isequal(atf,fliplr(y_correct)))

7   Pass
t=rand(1,2); x=[8 16 24 ; 2 4 8 ; 6 4 2 ; 24 t]; at=assemble_this(x); y_correct=[fliplr(t) 24 16 8 4 2 4 6]; assert(isequal(at,y_correct)||isequal(at,fliplr(y_correct)))

ans = 2.0000 4.0000 8.0000 NaN 8.0000 16.0000 24.0000 NaN 24.0000 0.3728 0.0411

8   Pass
k=5+ceil(8*rand); x=randperm(k); y=randperm(k)+k; at=assemble_this([x x ; x y]); y_correct=[x x y]; assert(isequal(at,y_correct)||isequal(at,fliplr(y_correct)))

ans = Columns 1 through 29 2 9 7 4 1 6 3 5 8 2 9 7 4 1 6 3 5 8 NaN 2 9 7 4 1 6 3 5 8 14 Columns 30 through 37 17 15 11 13 12 10 16 18