Cody

Problem 63. Encode Roman Numerals

Solution 2035968

Submitted on 26 Nov 2019
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
x = 1990; y_correct = 'MCMXC'; assert(isequal(dec2rom(x),y_correct))

k = 1 9 9 0 p = 1000 p = 1000 900 p = 1000 900 90 p = 1000 900 90 0 strp = 1×4 string array "1000" "900" "90" "0" rom1000_3999 = 1×3 cell array {'M'} {'MM'} {'MMM'} strp = 1×4 string array "M" "900" "90" "0" rom100_999 = 1×9 cell array {'C'} {'CC'} {'CCC'} {'CD'} {'D'} {'DC'} {'DCC'} {'DCCC'} {'CM'} strp = 1×4 string array "M" "CM" "90" "0" rom10_99 = 1×9 cell array {'X'} {'XX'} {'XXX'} {'XL'} {'L'} {'LX'} {'LXX'} {'LXXX'} {'XC'} strp = 1×4 string array "M" "CM" "XC" "0" strp = 1×4 string array "M" "CM" "XC" "" son = "M CM XC " romStr = "MCMXC"

2   Pass
x = 2008; y_correct = 'MMVIII'; assert(isequal(dec2rom(x),y_correct))

k = 2 0 0 8 p = 2000 p = 2000 0 p = 2000 0 0 p = 2000 0 0 8 strp = 1×4 string array "2000" "0" "0" "8" rom1000_3999 = 1×3 cell array {'M'} {'MM'} {'MMM'} strp = 1×4 string array "MM" "0" "0" "8" strp = 1×4 string array "MM" "" "0" "8" strp = 1×4 string array "MM" "" "" "8" rom1_9 = 1×9 cell array {'I'} {'II'} {'III'} {'IV'} {'V'} {'VI'} {'VII'} {'VIII'} {'IX'} strp = 1×4 string array "MM" "" "" "VIII" son = "MM VIII" romStr = "MMVIII"

3   Pass
x = 1666; y_correct = 'MDCLXVI'; assert(isequal(dec2rom(x),y_correct))

k = 1 6 6 6 p = 1000 p = 1000 600 p = 1000 600 60 p = 1000 600 60 6 strp = 1×4 string array "1000" "600" "60" "6" rom1000_3999 = 1×3 cell array {'M'} {'MM'} {'MMM'} strp = 1×4 string array "M" "600" "60" "6" rom100_999 = 1×9 cell array {'C'} {'CC'} {'CCC'} {'CD'} {'D'} {'DC'} {'DCC'} {'DCCC'} {'CM'} strp = 1×4 string array "M" "DC" "60" "6" rom10_99 = 1×9 cell array {'X'} {'XX'} {'XXX'} {'XL'} {'L'} {'LX'} {'LXX'} {'LXXX'} {'XC'} strp = 1×4 string array "M" "DC" "LX" "6" rom1_9 = 1×9 cell array {'I'} {'II'} {'III'} {'IV'} {'V'} {'VI'} {'VII'} {'VIII'} {'IX'} strp = 1×4 string array "M" "DC" "LX" "VI" son = "M DC LX VI" romStr = "MDCLXVI"

4   Pass
x = 49; y_correct = 'XLIX'; assert(isequal(dec2rom(x),y_correct))

k = 4 9 p = 40 p = 40 9 strp = 1×2 string array "40" "9" rom10_99 = 1×9 cell array {'X'} {'XX'} {'XXX'} {'XL'} {'L'} {'LX'} {'LXX'} {'LXXX'} {'XC'} strp = 1×2 string array "XL" "9" rom1_9 = 1×9 cell array {'I'} {'II'} {'III'} {'IV'} {'V'} {'VI'} {'VII'} {'VIII'} {'IX'} strp = 1×2 string array "XL" "IX" son = "XL IX" romStr = "XLIX"

5   Pass
x = 45; y_correct = 'XLV'; assert(isequal(dec2rom(x),y_correct))

k = 4 5 p = 40 p = 40 5 strp = 1×2 string array "40" "5" rom10_99 = 1×9 cell array {'X'} {'XX'} {'XXX'} {'XL'} {'L'} {'LX'} {'LXX'} {'LXXX'} {'XC'} strp = 1×2 string array "XL" "5" rom1_9 = 1×9 cell array {'I'} {'II'} {'III'} {'IV'} {'V'} {'VI'} {'VII'} {'VIII'} {'IX'} strp = 1×2 string array "XL" "V" son = "XL V" romStr = "XLV"

6   Fail
x = 0; y_correct = ''; assert(isempty(dec2rom(x)))

k = 0 p = 0 strp = "0" strp = "" son = "" romStr = ""

Assertion failed.