-
Notifications
You must be signed in to change notification settings - Fork 0
/
l_extra_letter.py
40 lines (28 loc) · 1.4 KB
/
l_extra_letter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Васе очень нравятся задачи про строки, поэтому он придумал свою.
# Есть 2 строки s и t, состоящие только из строчных букв.
# Строка t получена перемешиванием букв строки s и
# добавлением 1 буквы в случайную позицию. Нужно найти добавленную букву.
# Формат ввода
# На вход подаются строки s и t, разделённые переносом строки.
# Длины строк не превосходят 1000 символов. Строки не бывают пустыми.
# Формат вывода
# Выведите лишнюю букву.
from typing import Tuple
def get_excessive_letter(shorter: str, longer: str) -> str:
sort_longer = sorted(longer)
sort_shorter = sorted(shorter)
dict_str_long = {}
dict_str_short = {}
for s in sort_longer:
dict_str_long[s] = sort_longer.count(s)
dict_str_short[s] = sort_shorter.count(s)
for key in dict_str_long:
if dict_str_long[key] != dict_str_short[key]:
result = key
return result
def read_input() -> Tuple[str, str]:
shorter = input().strip()
longer = input().strip()
return shorter, longer
shorter, longer = read_input()
print(get_excessive_letter(shorter, longer))