Sha256: f3ba73532c2710fcb9b3b8f1b23ae249ed26f06bada3938f0b79bf0624bb8e77

Contents?: true

Size: 585 Bytes

Versions: 384

Compression:

Stored size: 585 Bytes

Contents

<?php


function nucleotideCount($dna)
{
    $nucleotides = [];
    if (strlen($dna) > 0) {
        $nucleotides = str_split($dna);
    }
    $count = array_reduce($nucleotides, function ($count, $nucleotide) {
        if (! in_array(strtolower($nucleotide), ['a', 'c', 'g', 't'])) {
            throw new InvalidArgumentException(sprintf('The nucleotide %s does not exist in DNA', $nucleotide));
        }
        $count[strtolower($nucleotide)]++;

        return $count;
    }, [
        'a' => 0,
        'c' => 0,
        't' => 0,
        'g' => 0,
    ]);

    return $count;
}

Version data entries

384 entries across 384 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.179 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.178 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.177 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.176 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.175 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.174 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.173 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.172 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.171 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.170 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.169 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.167 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.166 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.165 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.164 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.163 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.162 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.161 tracks/php/exercises/nucleotide-count/example.php
trackler-2.2.1.160 tracks/php/exercises/nucleotide-count/example.php