Cody

# Problem 47. Extract leading non-zero digit

Solution 1922596

Submitted on 5 Sep 2019 by Adi Ben Hayun
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))

s = '100' first = 1 last = 1 y = 1 0 0 0 0 0 0 0 s = '23' first = 1 2 last = 1 2 y = 1 2 0 0 0 0 0 0 s = '-34' first = 1 3 last = 2 3 y = 1 2 3 0 0 0 0 0 s = '0.005' first = 1 last = 5 y = 1 2 3 5 0 0 0 0 s = '-0.46666' first = 1 5 6 7 8 last = 4 5 6 7 8 y = 1 2 3 5 4 0 0 0 s = '-0.555' first = 1 5 6 last = 4 5 6 y = 1 2 3 5 4 5 0 0 s = '1' first = 1 last = 1 y = 1 2 3 5 4 5 1 0 s = '134534' first = 1 2 3 4 5 6 last = 1 2 3 4 5 6 y = 1 2 3 5 4 5 1 1

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

s = '57' first = 1 2 last = 1 2 y = 5 0 0 0 0 s = '-0.2' first = 1 last = 4 y = 5 2 0 0 0 s = '8913' first = 1 2 3 4 last = 1 2 3 4 y = 5 2 8 0 0 s = '-63' first = 1 3 last = 2 3 y = 5 2 8 6 0 s = '0.83813' first = 1 4 5 6 7 last = 3 4 5 6 7 y = 5 2 8 6 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))

s = '-0.4336' first = 1 5 6 7 last = 4 5 6 7 y = 4 0 0 0 0 s = '0.3426' first = 1 4 5 6 last = 3 4 5 6 y = 4 3 0 0 0 s = '3.5784' first = 1 2 4 5 6 last = 1 3 4 5 6 y = 4 3 3 0 0 s = '2.7694' first = 1 2 4 5 6 last = 1 3 4 5 6 y = 4 3 3 2 0 s = '-1.3499' first = 1 3 5 6 7 last = 2 4 5 6 7 y = 4 3 3 2 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))

s = '0.3' first = 1 last = 3 y = 3 0 0 0 0 s = '-0.1' first = 1 last = 4 y = 3 1 0 0 0 s = '-2e-08' first = 1 3 4 last = 2 3 6 y = 3 1 2 0 0 s = '0.5' first = 1 last = 3 y = 3 1 2 5 0 s = '0.002' first = 1 last = 5 y = 3 1 2 5 2