From 8a684ce522b76fd7ba92d2455068cdf7d32912f6 Mon Sep 17 00:00:00 2001 From: Simon Green Date: Sun, 9 Feb 2025 14:08:23 +1100 Subject: sgreen solutions to challenge 307 --- challenge-307/sgreen/python/ch-2.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 challenge-307/sgreen/python/ch-2.py (limited to 'challenge-307/sgreen/python/ch-2.py') 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() -- cgit