Skip to content

Commit 347b775

Browse files
committed
refactor: precomputing unique letters for faster lookup
1 parent 2754820 commit 347b775

1 file changed

Lines changed: 18 additions & 2 deletions

File tree

‎Sprint-2/improve_with_precomputing/count_letters/count_letters.py‎

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
1+
# def count_letters(s: str) -> int:
2+
# """
3+
# count_letters returns the number of letters which only occur in upper case in the passed string.
4+
# """
5+
# only_upper = set()
6+
# for letter in s:
7+
# if is_upper_case(letter):
8+
# if letter.lower() not in s:
9+
# only_upper.add(letter)
10+
# return len(only_upper)
11+
12+
13+
# def is_upper_case(letter: str) -> bool:
14+
# return letter == letter.upper()
15+
116
def count_letters(s: str) -> int:
217
"""
318
count_letters returns the number of letters which only occur in upper case in the passed string.
419
"""
520
only_upper = set()
6-
for letter in s:
21+
unique_letters = set(s)
22+
for letter in unique_letters:
723
if is_upper_case(letter):
8-
if letter.lower() not in s:
24+
if letter.lower() not in unique_letters:
925
only_upper.add(letter)
1026
return len(only_upper)
1127

0 commit comments

Comments
 (0)