Cody

Problem 2653. Beauty of Parentheses

Solution 2217374

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 = ')()()()()()()()'

Error using horzcat Dimensions of arrays being concatenated are not consistent. Error in braces (line 108) sout =char([part part1]) Error in Test4 (line 7) assert(isequal(braces(str),out))

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

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

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 = 4×8 char array '( )' ' ( ) ' ' ( ) ' ' () ' out = 4×1 cell array {'( )'} {' ( ) '} {' ( ) '} {' () '}

Suggested Problems

More from this Author44

Community Treasure Hunt

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

Start Hunting!