Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 189430

Submitted on 11 Jan 2013 by Aurelien Queffurust

Correct

48Size
Leading solution size is 19.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%%
words={'AAA','BED','BEG','BAD'};
assert(isequal(hangman(words),'B'));
alphabet =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
mini =
     2
mini =
     2     1
mini =
     2     1     4
mini =
     2     1     4     2
mini =
     2     1     4     2     2
mini =
     2     1     4     2     2     4
mini =
     2     1     4     2     2     4     3
mini =
     2     1     4     2     2     4     3     4
mini =
     2     1     4     2     2     4     3     4     4
mini =
     2     1     4     2     2     4     3     4     4     4
mini =
     2     1     4     2     2     4     3     4     4     4     4
mini =
     2     1     4     2     2     4     3     4     4     4     4     4
mini =
     2     1     4     2     2     4     3     4     4     4     4     4     4
mini =
     2     1     4     2     2     4     3     4     4     4     4     4     4     4
mini =
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4
mini =
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Column 17
     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 18
     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 19
     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 20
     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 21
     4     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 22
     4     4     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 23
     4     4     4     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 24
     4     4     4     4     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 25
     4     4     4     4     4     4     4     4     4
mini =
  Columns 1 through 16
     2     1     4     2     2     4     3     4     4     4     4     4     4     4     4     4
  Columns 17 through 26
     4     4     4     4     4     4     4     4     4     4
tf =
     1
loc =
     2
letter =
B
2
Pass
 
%%
words={'BUZZ','COZY','DOZE','FUZZ','GAZE','HAZE','JAZZ','LAZY','SIZE','ZERO','ZONE'};
assert(isequal(hangman(words),'Z'));
alphabet =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
mini =
     7
mini =
     7    10
mini =
     7    10    10
mini =
     7    10    10    10
mini =
     7    10    10    10     5
mini =
     7    10    10    10     5    10
mini =
     7    10    10    10     5    10    10
mini =
     7    10    10    10     5    10    10    10
mini =
     7    10    10    10     5    10    10    10    10
mini =
     7    10    10    10     5    10    10    10    10    10
mini =
     7    10    10    10     5    10    10    10    10    10    11
mini =
     7    10    10    10     5    10    10    10    10    10    11    10
mini =
     7    10    10    10     5    10    10    10    10    10    11    10    11
mini =
     7    10    10    10     5    10    10    10    10    10    11    10    11    10
mini =
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7
mini =
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Column 17
    11
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 18
    11    10
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 19
    11    10    10
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 20
    11    10    10    11
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 21
    11    10    10    11     9
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 22
    11    10    10    11     9    11
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 23
    11    10    10    11     9    11    11
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 24
    11    10    10    11     9    11    11    11
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 25
    11    10    10    11     9    11    11    11     9
mini =
  Columns 1 through 16
     7    10    10    10     5    10    10    10    10    10    11    10    11    10     7    11
  Columns 17 through 26
    11    10    10    11     9    11    11    11     9     0
tf =
     0
loc =
    26
letter =
Z
3
Pass
 
%%
rng default;
words=unique(char('A'+randi(26,[100,3])-1),'rows');
assert(isequal(sum(any(words==hangman(cellstr(words)'),2)),max(arrayfun(@(x)sum(any(words==x,2)),'A':'Z'))));
alphabet =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
mini =
    89
mini =
    89    92
mini =
    89    92    87
mini =
    89    92    87    87
mini =
    89    92    87    87    85
mini =
    89    92    87    87    85    89
mini =
    89    92    87    87    85    89    81
mini =
    89    92    87    87    85    89    81    92
mini =
    89    92    87    87    85    89    81    92    91
mini =
    89    92    87    87    85    89    81    92    91    89
mini =
    89    92    87    87    85    89    81    92    91    89    91
mini =
    89    92    87    87    85    89    81    92    91    89    91    87
mini =
    89    92    87    87    85    89    81    92    91    89    91    87    86
mini =
    89    92    87    87    85    89    81    92    91    89    91    87    86    88
mini =
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90
mini =
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Column 17
    88
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 18
    88    89
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 19
    88    89    89
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 20
    88    89    89    88
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 21
    88    89    89    88    85
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 22
    88    89    89    88    85    89
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 23
    88    89    89    88    85    89    93
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 24
    88    89    89    88    85    89    93    84
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 25
    88    89    89    88    85    89    93    84    83
mini =
  Columns 1 through 16
    89    92    87    87    85    89    81    92    91    89    91    87    86    88    90    91
  Columns 17 through 26
    88    89    89    88    85    89    93    84    83    91
tf =
    81
loc =
     7
letter =
G
4
Pass
 
%%
rng default;
words=unique(char('A'+randi(26,[200,4])-1),'rows');
assert(isequal(sum(any(words==hangman(cellstr(words)'),2)),max(arrayfun(@(x)sum(any(words==x,2)),'A':'Z'))));
alphabet =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
mini =
   176
mini =
   176   169
mini =
   176   169   166
mini =
   176   169   166   168
mini =
   176   169   166   168   164
mini =
   176   169   166   168   164   174
mini =
   176   169   166   168   164   174   166
mini =
   176   169   166   168   164   174   166   176
mini =
   176   169   166   168   164   174   166   176   175
mini =
   176   169   166   168   164   174   166   176   175   179
mini =
   176   169   166   168   164   174   166   176   175   179   173
mini =
   176   169   166   168   164   174   166   176   175   179   173   164
mini =
   176   169   166   168   164   174   166   176   175   179   173   164   167
mini =
   176   169   166   168   164   174   166   176   175   179   173   164   167   168
mini =
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173
mini =
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Column 17
   168
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 18
   168   168
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 19
   168   168   169
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 20
   168   168   169   168
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 21
   168   168   169   168   171
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 22
   168   168   169   168   171   169
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 23
   168   168   169   168   171   169   178
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 24
   168   168   169   168   171   169   178   172
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 25
   168   168   169   168   171   169   178   172   170
mini =
  Columns 1 through 16
   176   169   166   168   164   174   166   176   175   179   173   164   167   168   173   169
  Columns 17 through 26
   168   168   169   168   171   169   178   172   170   176
tf =
   164
loc =
     5
letter =
E
5
Pass
 
%%
rng default;
words=unique(char('A'+randi(26,[500,5])-1),'rows');
assert(isequal(sum(any(words==hangman(cellstr(words)'),2)),max(arrayfun(@(x)sum(any(words==x,2)),'A':'Z'))));
alphabet =
ABCDEFGHIJKLMNOPQRSTUVWXYZ
mini =
   425
mini =
   425   411
mini =
   425   411   403
mini =
   425   411   403   406
mini =
   425   411   403   406   407
mini =
   425   411   403   406   407   416
mini =
   425   411   403   406   407   416   408
mini =
   425   411   403   406   407   416   408   426
mini =
   425   411   403   406   407   416   408   426   415
mini =
   425   411   403   406   407   416   408   426   415   420
mini =
   425   411   403   406   407   416   408   426   415   420   397
mini =
   425   411   403   406   407   416   408   426   415   420   397   396
mini =
   425   411   403   406   407   416   408   426   415   420   397   396   434
mini =
   425   411   403   406   407   416   408   426   415   420   397   396   434   405
mini =
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403
mini =
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Column 17
   415
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 18
   415   413
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 19
   415   413   401
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 20
   415   413   401   403
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 21
   415   413   401   403   414
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 22
   415   413   401   403   414   407
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 23
   415   413   401   403   414   407   425
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 24
   415   413   401   403   414   407   425   411
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 25
   415   413   401   403   414   407   425   411   415
mini =
  Columns 1 through 16
   425   411   403   406   407   416   408   426   415   420   397   396   434   405   403   403
  Columns 17 through 26
   415   413   401   403   414   407   425   411   415   413
tf =
   396
loc =
    12
letter =
L