aboutsummaryrefslogtreecommitdiff
path: root/challenge-250/deadmarshal/d/ch2.d
blob: 535ebf9d15b5d0fdc1b02914dd17a98565d6261c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import std.stdio:writeln;
import std.ascii:isDigit;
import std.conv:to;

bool is_numeric(string str)
{
  foreach(i;0..str.length) if(!isDigit(str[i])) return false;
  return true;
}

ulong alphanumeric_string_value(string[] arr)
{
  ulong max = 0;
  foreach(i;0..arr.length)
  {
    ulong n = is_numeric(arr[i]) ? to!int(arr[i]) : arr[i].length;
    if(n > max) max = n;
  }
  return max;
}

void main()
{
  string[] arr1 = ["perl","2","000","python","r4ku"];
  string[] arr2 = ["001","1","000","0001"];
  writeln(alphanumeric_string_value(arr1));
  writeln(alphanumeric_string_value(arr2));
}