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

Suggested Problems

More from this Author80

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!