Cody

# Problem 2653. Beauty of Parentheses

Solution 2217366

Submitted on 17 Apr 2020
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
str = '(()(()(()(()))))'; out = {'( )'; ' ()( ) '; ' ()( ) '; ' ()( ) '; ' () '} assert(isequal(braces(str),out))

out = 5×1 cell array {'( )'} {' ()( ) '} {' ()( ) '} {' ()( ) '} {' () '} str = '))))' sout = 5×16 char array '( )' ' ()( ) ' ' ()( ) ' ' ()( ) ' ' () ' out = 5×1 cell array {'( )'} {' ()( ) '} {' ()( ) '} {' ()( ) '} {' () '}

2   Fail
str = '()'; % trivial test out = {'()'}; assert(isequal(braces(str),out))

Index exceeds the number of array elements (2). Error in braces (line 7) if strcmp(str(1:3),"()("); Error in Test2 (line 5) assert(isequal(braces(str),out))

3   Pass
str = '((((()))))'; out = {'( )'; ' ( ) '; ' ( ) '; ' ( ) '; ' () '} assert(isequal(braces(str),out))

out = 5×1 cell array {'( )'} {' ( ) '} {' ( ) '} {' ( ) '} {' () '} str = '))))' sout = 5×10 char array '( )' ' ( ) ' ' ( ) ' ' ( ) ' ' () ' out = 5×1 cell array {'( )'} {' ( ) '} {' ( ) '} {' ( ) '} {' () '}

4   Fail
a = randi(10); str = ''; for i = 1:a str = [str '()']; end out = {str}; assert(isequal(braces(str),out))

str = ')()()()()()()'

Array indices must be positive integers or logical values. Error in braces (line 81) tt=numel(deck{end}) ; Error in Test4 (line 7) assert(isequal(braces(str),out))

5   Fail
str = '()(((())))()'; out = {'()( )()'; ' ( ) '; ' ( ) '; ' () '} assert(isequal(braces(str),out))

out = 4×1 cell array {'()( )()'} {' ( ) '} {' ( ) '} {' () '} str = ')))()' sout = 4×12 char array '()( )))' ' ( ) ' ' ( ) ' ' () ' out = 4×1 cell array {'()( )))'} {' ( ) '} {' ( ) '} {' () '}

Assertion failed.

6   Pass
a = randi(10); str = ''; for i = 1:a str = ['(' str ')']; end out = {}; for i = 1:a s = [32*ones(1,i-1) '(' 32*ones(1,2*a-2*i) ')' 32*ones(1,i-1)]; out = [out; s]; end assert(isequal(braces(str),out))

str = '))))))))' sout = 9×18 char array '( )' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' () ' out = 9×1 cell array {'( )'} {' ( ) '} {' ( ) '} {' ( ) '} {' ( ) '} {' ( ) '} {' ( ) '} {' ( ) '} {' () '}