Cody

Problem 2653. Beauty of Parentheses

Solution 2217387

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 = '(()(()(()(()))))' str = '))))' part = 40 32 32 32 32 32 32 32 32 32 32 32 32 40 41 40 32 32 32 32 32 32 32 32 32 32 32 32 40 41 40 32 32 32 32 32 32 32 32 32 32 32 32 40 41 40 32 32 32 32 32 32 32 32 32 32 32 32 40 41 part1 = 32 32 32 41 32 32 41 32 32 41 32 32 41 32 32 32 32 32 32 32 sout = 5×16 char array '( )' ' ()( ) ' ' ()( ) ' ' ()( ) ' ' () ' out = 5×1 cell array {'( )'} {' ()( ) '} {' ()( ) '} {' ()( ) '} {' () '}

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

str = '()' out = 1×1 cell array {'()'}

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

out = 5×1 cell array {'( )'} {' ( ) '} {' ( ) '} {' ( ) '} {' () '} str = '((((()))))' str = '))))' part = 40 32 32 32 32 32 32 40 32 32 32 32 32 32 40 32 32 32 32 32 32 40 32 32 32 32 32 32 40 41 part1 = 32 32 32 41 32 32 41 32 32 41 32 32 41 32 32 32 32 32 32 32 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 = '()()'

Index exceeds the number of array elements (1). Error in braces (line 16) if strcmp(str(1:3),"()("); 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 = '()(((())))()' str = ')))()' part = 40 41 40 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 40 41 part1 = 32 32 41 40 41 32 41 32 32 32 41 32 32 32 32 32 32 32 32 32 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 = '(((((((((())))))))))' str = ')))))))))' part = 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 32 32 32 32 32 32 32 32 32 32 32 40 41 part1 = 32 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 41 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 sout = 10×20 char array '( )' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' ( ) ' ' () ' out = 10×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!