DEV Community

Discussion on: Daily Challenge #270 - Fix String Case

Collapse
 
peter279k profile image
peter279k

Here is the simple solution without any advanced approach (e.g. ASCII code converting, regular expression and so on.):

function solve($s) {
  $upperCases = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $lowerCases = strtolower($upperCases);

  $upperCaseCount = 0;
  $lowerCaseCount = 0;

  $index = 0;

  for (; $index<strlen($s); $index++) {
    if (strpos($upperCases, $s[$index]) !== false) {
      $upperCaseCount += 1;
    }
    if (strpos($lowerCases, $s[$index]) !== false) {
      $lowerCaseCount += 1;
    }
  }

  if ($upperCaseCount > $lowerCaseCount) {
    return strtoupper($s);
  }

  if ($upperCaseCount <= $lowerCaseCount) {
    return strtolower($s);
  }
}