Cody

# Problem 47. Extract leading non-zero digit

Solution 1943381

Submitted on 19 Sep 2019 by Eugene Kronberg
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 = [100 23 -34 0.005 -0.466664 -0.555 1 134534]; y_correct = [1 2 3 5 4 5 1 1]; assert(isequal(leadingDigit(x),y_correct))

x = 1.0e+05 * 0.0010 0.0002 0.0003 0.0000 0.0000 0.0000 0.0000 1.3453 ind = 1×8 logical array 0 0 0 1 1 1 0 0 ind = 1×8 logical array 0 0 0 1 0 0 0 0 ind = 1×8 logical array 0 0 0 1 0 0 0 0 ind = 1×8 logical array 0 0 0 0 0 0 0 0 s = '100' ans = 1 s = '23' ans = 2 s = '34' ans = 3 s = '5' ans = 5 s = '4' ans = 4 s = '5' ans = 5 s = '1' ans = 1 s = '134534' ans = 1

2   Pass
x = [57 -0.2 8913 -63 0.838127]; y_correct = [5 2 8 6 8]; assert(isequal(leadingDigit(x),y_correct))

x = 1.0e+03 * 0.0570 0.0002 8.9130 0.0630 0.0008 ind = 1×5 logical array 0 1 0 0 1 ind = 1×5 logical array 0 0 0 0 0 s = '57' ans = 5 s = '2' ans = 2 s = '8913' ans = 8 s = '63' ans = 6 s = '8' ans = 8

3   Pass
x = [-0.4336 0.3426 3.5784 2.7694 -1.3499]; y_correct = [4 3 3 2 1]; assert(isequal(leadingDigit(x),y_correct))

x = 0.4336 0.3426 3.5784 2.7694 1.3499 ind = 1×5 logical array 1 1 0 0 0 ind = 1×5 logical array 0 0 0 0 0 s = '4' ans = 4 s = '3' ans = 3 s = '3' ans = 3 s = '2' ans = 2 s = '1' ans = 1

4   Pass
x = [0.3000 -0.1 -0.00000002 0.5 0.002]; y_correct = [3 1 2 5 2]; assert(isequal(leadingDigit(x),y_correct))

x = 0.3000 0.1000 0.0000 0.5000 0.0020 ind = 1×5 logical array 1 1 1 1 1 ind = 1×5 logical array 0 0 1 0 1 ind = 1×5 logical array 0 0 1 0 1 ind = 1×5 logical array 0 0 1 0 0 ind = 1×5 logical array 0 0 1 0 0 ind = 1×5 logical array 0 0 1 0 0 ind = 1×5 logical array 0 0 1 0 0 ind = 1×5 logical array 0 0 1 0 0 ind = 1×5 logical array 0 0 0 0 0 s = '3' ans = 3 s = '1' ans = 1 s = '2' ans = 2 s = '5' ans = 5 s = '2' ans = 2