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 269874

Submitted on 30 Jun 2013 by the cyclist

Correct

125Size
Leading solution size is 51.
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
 
%%
people = 5;
cardsDelt = 5;
isJokerIn = 0;
[dealtDeck, deckLeftover] = Poker_Deal(people ,cardsDelt ,isJokerIn)
deckCheck = {'2h'; '3h'; '4h'; '5h'; '6h'; '7h'; '8h'; '9h'; '10h'; 'jh'; 'qh'; 'kh'; 'ah'; '2d'; '3d'; '4d'; '5d'; '6d'; '7d'; '8d'; '9d'; '10d'; 'jd'; 'qd'; 'kd'; 'ad'; '2s'; '3s'; '4s'; '5s'; '6s'; '7s'; '8s'; '9s'; '10s'; 'js'; 'qs'; 'ks'; 'as'; '2c'; '3c'; '4c'; '5c'; '6c'; '7c'; '8c'; '9c'; '10c'; 'jc'; 'qc'; 'kc'; 'ac'}
h = (sum(sum(ismember(deckCheck,dealtDeck))) == 25) & ~issorted(reshape(dealtDeck,25,1));
g = (sum(ismember(deckCheck,deckLeftover)) == (52-25)) & ~issorted(deckLeftover);
y_correct = g&h;
assert(isequal(g,h))
dealtDeck =
    '6h'    '7d'    '8d'    'Kc'    '5h'
    '3c'    'Qd'    '1h'    'Tc'    '5s'
    '9d'    '4h'    '1d'    '2s'    '7s'
    'Td'    '7h'    '8s'    '8h'    '8c'
    '6d'    'Qh'    '4d'    '1c'    'Th'
deckLeftover =
    '2h'
    'Ks'
    'Jh'
    '4c'
    '3s'
    '2c'
    '6c'
    'Jd'
    '3d'
    '2d'
    '1s'
    '3h'
    'Ts'
    '6s'
    'Kh'
    '9h'
    '5c'
    '4s'
    '9s'
    '9c'
    '7c'
    'Qc'
    'Kd'
    'Jc'
    'Js'
    'Qs'
    '5d'
deckCheck =
    '2h'
    '3h'
    '4h'
    '5h'
    '6h'
    '7h'
    '8h'
    '9h'
    '10h'
    'jh'
    'qh'
    'kh'
    'ah'
    '2d'
    '3d'
    '4d'
    '5d'
    '6d'
    '7d'
    '8d'
    '9d'
    '10d'
    'jd'
    'qd'
    'kd'
    'ad'
    '2s'
    '3s'
    '4s'
    '5s'
    '6s'
    '7s'
    '8s'
    '9s'
    '10s'
    'js'
    'qs'
    'ks'
    'as'
    '2c'
    '3c'
    '4c'
    '5c'
    '6c'
    '7c'
    '8c'
    '9c'
    '10c'
    'jc'
    'qc'
    'kc'
    'ac'
2
Pass
 
%%
people = 3;
cardsDelt = 5;
isJokerIn = 0;
[dealtDeck, deckLeftover] = Poker_Deal(people ,cardsDelt ,isJokerIn)
deckCheck = {'2h'; '3h'; '4h'; '5h'; '6h'; '7h'; '8h'; '9h'; '10h'; 'jh'; 'qh'; 'kh'; 'ah'; '2d'; '3d'; '4d'; '5d'; '6d'; '7d'; '8d'; '9d'; '10d'; 'jd'; 'qd'; 'kd'; 'ad'; '2s'; '3s'; '4s'; '5s'; '6s'; '7s'; '8s'; '9s'; '10s'; 'js'; 'qs'; 'ks'; 'as'; '2c'; '3c'; '4c'; '5c'; '6c'; '7c'; '8c'; '9c'; '10c'; 'jc'; 'qc'; 'kc'; 'ac'}
h = (sum(sum(ismember(deckCheck,dealtDeck))) == 15) & ~issorted(reshape(dealtDeck,15,1));
g = (sum(ismember(deckCheck,deckLeftover)) == (52-15)) & ~issorted(deckLeftover);
y_correct = g&h;
assert(isequal(g,h))
dealtDeck =
    'Td'    '1h'    '3c'    '5c'    '9h'
    '3s'    '3h'    'Jh'    '5h'    '1s'
    'Th'    '7d'    'Ts'    '3d'    'Kc'
deckLeftover =
    '4s'
    '5s'
    'Ks'
    '2c'
    'Kd'
    '2d'
    '4h'
    'Jd'
    'Qc'
    'Kh'
    'Jc'
    '8h'
    '4c'
    '9d'
    '6s'
    '6c'
    '6d'
    '9s'
    'Qh'
    '7h'
    '8s'
    '8d'
    '1c'
    'Js'
    '9c'
    'Qd'
    '8c'
    '7c'
    '5d'
    'Qs'
    '1d'
    '2h'
    '4d'
    '2s'
    '6h'
    '7s'
    'Tc'
deckCheck =
    '2h'
    '3h'
    '4h'
    '5h'
    '6h'
    '7h'
    '8h'
    '9h'
    '10h'
    'jh'
    'qh'
    'kh'
    'ah'
    '2d'
    '3d'
    '4d'
    '5d'
    '6d'
    '7d'
    '8d'
    '9d'
    '10d'
    'jd'
    'qd'
    'kd'
    'ad'
    '2s'
    '3s'
    '4s'
    '5s'
    '6s'
    '7s'
    '8s'
    '9s'
    '10s'
    'js'
    'qs'
    'ks'
    'as'
    '2c'
    '3c'
    '4c'
    '5c'
    '6c'
    '7c'
    '8c'
    '9c'
    '10c'
    'jc'
    'qc'
    'kc'
    'ac'
3
Pass
 
%%
people = 4;
cardsDelt = 7;
isJokerIn = 0;
[dealtDeck, deckLeftover] = Poker_Deal(people ,cardsDelt ,isJokerIn)
deckCheck = {'2h'; '3h'; '4h'; '5h'; '6h'; '7h'; '8h'; '9h'; '10h'; 'jh'; 'qh'; 'kh'; 'ah'; '2d'; '3d'; '4d'; '5d'; '6d'; '7d'; '8d'; '9d'; '10d'; 'jd'; 'qd'; 'kd'; 'ad'; '2s'; '3s'; '4s'; '5s'; '6s'; '7s'; '8s'; '9s'; '10s'; 'js'; 'qs'; 'ks'; 'as'; '2c'; '3c'; '4c'; '5c'; '6c'; '7c'; '8c'; '9c'; '10c'; 'jc'; 'qc'; 'kc'; 'ac'}
h = (sum(sum(ismember(deckCheck,dealtDeck))) == 28) & ~issorted(reshape(dealtDeck,28,1));
g = (sum(ismember(deckCheck,deckLeftover)) == (52-28)) & ~issorted(deckLeftover);
y_correct = g&h;
assert(isequal(g,h))
dealtDeck =
    '7h'    '9h'    '4d'    'Jh'    '2s'    '2c'    'Qc'
    '4h'    '6h'    '5s'    'Jc'    '8c'    '3d'    '6c'
    '8d'    '1h'    '4c'    '7d'    'Jd'    '6d'    'Qd'
    '3s'    '6s'    'Td'    'Ts'    '4s'    '8s'    '1c'
deckLeftover =
    '1s'
    '9c'
    '8h'
    '3c'
    '5d'
    '2h'
    'Qh'
    '5c'
    'Kd'
    '3h'
    '9s'
    '7c'
    '5h'
    '9d'
    'Tc'
    'Js'
    'Ks'
    'Qs'
    'Kc'
    '1d'
    '7s'
    '2d'
    'Th'
    'Kh'
deckCheck =
    '2h'
    '3h'
    '4h'
    '5h'
    '6h'
    '7h'
    '8h'
    '9h'
    '10h'
    'jh'
    'qh'
    'kh'
    'ah'
    '2d'
    '3d'
    '4d'
    '5d'
    '6d'
    '7d'
    '8d'
    '9d'
    '10d'
    'jd'
    'qd'
    'kd'
    'ad'
    '2s'
    '3s'
    '4s'
    '5s'
    '6s'
    '7s'
    '8s'
    '9s'
    '10s'
    'js'
    'qs'
    'ks'
    'as'
    '2c'
    '3c'
    '4c'
    '5c'
    '6c'
    '7c'
    '8c'
    '9c'
    '10c'
    'jc'
    'qc'
    'kc'
    'ac'
4
Pass
 
%%
people = 5;
cardsDelt = 6;
isJokerIn = 1;
[dealtDeck, deckLeftover] = Poker_Deal(people ,cardsDelt ,isJokerIn)
deckCheck = {'2h'; '3h'; '4h'; '5h'; '6h'; '7h'; '8h'; '9h'; '10h'; 'jh'; 'qh'; 'kh'; 'ah'; '2d'; '3d'; '4d'; '5d'; '6d'; '7d'; '8d'; '9d'; '10d'; 'jd'; 'qd'; 'kd'; 'ad'; '2s'; '3s'; '4s'; '5s'; '6s'; '7s'; '8s'; '9s'; '10s'; 'js'; 'qs'; 'ks'; 'as'; '2c'; '3c'; '4c'; '5c'; '6c'; '7c'; '8c'; '9c'; '10c'; 'jc'; 'qc'; 'kc'; 'ac'; 'J'; 'J'}
h = (sum(sum(ismember(deckCheck,dealtDeck))) == 30) & ~issorted(reshape(dealtDeck,30,1));
g = (sum(ismember(deckCheck,deckLeftover)) == (54-30)) & ~issorted(deckLeftover);
y_correct = g&h;
assert(isequal(g,h))
dealtDeck =
    '3c'    '2c'    '9h'    '2d'    '1s'    '4s'
    '3d'    'Tc'    '5d'    'Kc'    '3s'    '4h'
    '8h'    '6s'    '7c'    '4d'    'Js'    'Jc'
    '7s'    '7d'    '4c'    'Td'    '2h'    '2s'
    '1h'    'Kh'    '1d'    'Jh'    'Qd'    'Qs'
deckLeftover =
    '5h'
    '3h'
    'Th'
    '8c'
    'Ks'
    'Qh'
    '6h'
    '1c'
    'Ts'
    '5s'
    '9d'
    '8s'
    'Qc'
    '9c'
    '8d'
    '7h'
    '5c'
    '6c'
    '9s'
    'Jd'
    'Kd'
    '6d'
deckCheck =
    '2h'
    '3h'
    '4h'
    '5h'
    '6h'
    '7h'
    '8h'
    '9h'
    '10h'
    'jh'
    'qh'
    'kh'
    'ah'
    '2d'
    '3d'
    '4d'
    '5d'
    '6d'
    '7d'
    '8d'
    '9d'
    '10d'
    'jd'
    'qd'
    'kd'
    'ad'
    '2s'
    '3s'
    '4s'
    '5s'
    '6s'
    '7s'
    '8s'
    '9s'
    '10s'
    'js'
    'qs'
    'ks'
    'as'
    '2c'
    '3c'
    '4c'
    '5c'
    '6c'
    '7c'
    '8c'
    '9c'
    '10c'
    'jc'
    'qc'
    'kc'
    'ac'
    'J'
    'J'
5
Pass
 
%%
people = 3;
cardsDelt = 4;
isJokerIn = 1;
[dealtDeck, deckLeftover] = Poker_Deal(people ,cardsDelt ,isJokerIn)
deckCheck = {'2h'; '3h'; '4h'; '5h'; '6h'; '7h'; '8h'; '9h'; '10h'; 'jh'; 'qh'; 'kh'; 'ah'; '2d'; '3d'; '4d'; '5d'; '6d'; '7d'; '8d'; '9d'; '10d'; 'jd'; 'qd'; 'kd'; 'ad'; '2s'; '3s'; '4s'; '5s'; '6s'; '7s'; '8s'; '9s'; '10s'; 'js'; 'qs'; 'ks'; 'as'; '2c'; '3c'; '4c'; '5c'; '6c'; '7c'; '8c'; '9c'; '10c'; 'jc'; 'qc'; 'kc'; 'ac'; 'J'; 'J'}
h = (sum(sum(ismember(deckCheck,dealtDeck))) == 12) & ~issorted(reshape(dealtDeck,12,1));
g = (sum(ismember(deckCheck,deckLeftover)) == (54-12)) & ~issorted(deckLeftover);
y_correct = g&h;
assert(isequal(g,h))
dealtDeck =
    '3c'    '2s'    '7h'    'Th'
    'Kh'    '7s'    '1h'    '6h'
    '4s'    'Kc'    '6s'    '5h'
deckLeftover =
    '6c'
    '1s'
    'Jh'
    'Qd'
    '7c'
    'Qh'
    '3d'
    '8h'
    '4h'
    'Ts'
    'Kd'
    'Jd'
    '2d'
    '5s'
    '5c'
    '9s'
    '2h'
    'Qc'
    '8s'
    '8d'
    '1c'
    '9h'
    '5d'
    'Jc'
    'Ks'
    '4d'
    '8c'
    '6d'
    '4c'
    'Qs'
    '1d'
    '9d'
    '3h'
    'Tc'
    '7d'
    'Td'
    '2c'
    '3s'
    'Js'
    '9c'
deckCheck =
    '2h'
    '3h'
    '4h'
    '5h'
    '6h'
    '7h'
    '8h'
    '9h'
    '10h'
    'jh'
    'qh'
    'kh'
    'ah'
    '2d'
    '3d'
    '4d'
    '5d'
    '6d'
    '7d'
    '8d'
    '9d'
    '10d'
    'jd'
    'qd'
    'kd'
    'ad'
    '2s'
    '3s'
    '4s'
    '5s'
    '6s'
    '7s'
    '8s'
    '9s'
    '10s'
    'js'
    'qs'
    'ks'
    'as'
    '2c'
    '3c'
    '4c'
    '5c'
    '6c'
    '7c'
    '8c'
    '9c'
    '10c'
    'jc'
    'qc'
    'kc'
    'ac'
    'J'
    'J'
6
Pass
 
%%
people = 3;
cardsDelt = 3;
isJokerIn = 1;
[dealtDeck, deckLeftover] = Poker_Deal(people ,cardsDelt ,isJokerIn)
deckCheck = {'2h'; '3h'; '4h'; '5h'; '6h'; '7h'; '8h'; '9h'; '10h'; 'jh'; 'qh'; 'kh'; 'ah'; '2d'; '3d'; '4d'; '5d'; '6d'; '7d'; '8d'; '9d'; '10d'; 'jd'; 'qd'; 'kd'; 'ad'; '2s'; '3s'; '4s'; '5s'; '6s'; '7s'; '8s'; '9s'; '10s'; 'js'; 'qs'; 'ks'; 'as'; '2c'; '3c'; '4c'; '5c'; '6c'; '7c'; '8c'; '9c'; '10c'; 'jc'; 'qc'; 'kc'; 'ac';  'J'; 'J'}
h = (sum(sum(ismember(deckCheck,dealtDeck))) == 9) & ~issorted(reshape(dealtDeck,9,1));
g = (sum(ismember(deckCheck,deckLeftover)) == (54-9)) & ~issorted(deckLeftover);
y_correct = g&h;
assert(isequal(g,h))
dealtDeck =
    '7c'    '6s'    'Jc'
    '8h'    '5s'    'Qh'
    'Th'    '6h'    '1d'
deckLeftover =
    '3d'
    '4c'
    '4d'
    '9c'
    '4s'
    'Ks'
    '7d'
    '9d'
    '7h'
    '2h'
    '5h'
    '1c'
    'Qc'
    'Kc'
    '9h'
    '2s'
    '5c'
    '3h'
    'Kd'
    '3c'
    'Js'
    'Kh'
    '1h'
    '2c'
    'Ts'
    '8s'
    'Td'
    '7s'
    'Qd'
    'Jh'
    '4h'
    '6c'
    '2d'
    '9s'
    '6d'
    '5d'
    '8c'
    '1s'
    '3s'
    '8d'
    'Tc'
    'Qs'
    'Jd'
deckCheck =
    '2h'
    '3h'
    '4h'
    '5h'
    '6h'
    '7h'
    '8h'
    '9h'
    '10h'
    'jh'
    'qh'
    'kh'
    'ah'
    '2d'
    '3d'
    '4d'
    '5d'
    '6d'
    '7d'
    '8d'
    '9d'
    '10d'
    'jd'
    'qd'
    'kd'
    'ad'
    '2s'
    '3s'
    '4s'
    '5s'
    '6s'
    '7s'
    '8s'
    '9s'
    '10s'
    'js'
    'qs'
    'ks'
    'as'
    '2c'
    '3c'
    '4c'
    '5c'
    '6c'
    '7c'
    '8c'
    '9c'
    '10c'
    'jc'
    'qc'
    'kc'
    'ac'
    'J'
    'J'