Skip to content

Commit 2caec2d

Browse files
committed
Optimize letter counting by using pre-computed character set
1 parent c2b06f5 commit 2caec2d

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

Sprint-2/improve_with_precomputing/count_letters/count_letters.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,16 @@ def count_letters(s: str) -> int:
33
count_letters returns the number of letters which only occur in upper case in the passed string.
44
"""
55
only_upper = set()
6+
7+
chars = set(s) #store all characters once
8+
69
for letter in s:
710
if is_upper_case(letter):
8-
if letter.lower() not in s:
11+
if letter.lower() not in chars:
912
only_upper.add(letter)
13+
1014
return len(only_upper)
1115

1216

1317
def is_upper_case(letter: str) -> bool:
14-
return letter == letter.upper()
18+
return letter == letter.upper()

0 commit comments

Comments
 (0)