diff options
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() |
