diff options
| author | Robbie Hatley <Hatley.Software@gmail.com> | 2025-02-12 08:49:50 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-12 08:49:50 -0800 |
| commit | 90e76170320e19049ded67767ba306d22a85a402 (patch) | |
| tree | 63a46de5c36b53d47b65177784f83a9c896e4890 /challenge-307/sgreen/python/ch-2.py | |
| parent | 8800ea7f8b07503598d4f784412b600e98a5def0 (diff) | |
| parent | d8179c22c12d35d4201bc8e3f759a4a8009e6b1b (diff) | |
| download | perlweeklychallenge-club-90e76170320e19049ded67767ba306d22a85a402.tar.gz perlweeklychallenge-club-90e76170320e19049ded67767ba306d22a85a402.tar.bz2 perlweeklychallenge-club-90e76170320e19049ded67767ba306d22a85a402.zip | |
Merge branch 'manwar:master' into rh307
Diffstat (limited to 'challenge-307/sgreen/python/ch-2.py')
| -rwxr-xr-x | challenge-307/sgreen/python/ch-2.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/challenge-307/sgreen/python/ch-2.py b/challenge-307/sgreen/python/ch-2.py new file mode 100755 index 0000000000..14f80dc96e --- /dev/null +++ b/challenge-307/sgreen/python/ch-2.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 + +import sys + + +def find_anagrams(words: list) -> list: + # Sort each word alphabetically, ignoring case + sorted_words = [''.join(sorted(word.lower())) for word in words] + anagrams = 0 + + for idx in range(1, len(words)): + if sorted_words[idx-1] == sorted_words[idx]: + # The word at this position is an anagram of the previous word + anagrams += 1 + + # Return the number of words that aren't an anagram + return len(words) - anagrams + + +def main(): + result = find_anagrams(sys.argv[1:]) + print(result) + + +if __name__ == '__main__': + main() |
