-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmaxpalindrome.py
More file actions
49 lines (39 loc) · 1.7 KB
/
Copy pathmaxpalindrome.py
File metadata and controls
49 lines (39 loc) · 1.7 KB
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
41
42
43
44
45
46
47
48
49
"""
Палиндром - это строка, которая читается одинаково как справа налево, так и слева направо.
На вход программы поступает набор больших латинских букв (не обязательно различных). Разрешается переставлять буквы, а также удалять некоторые буквы. Требуется из данных букв по указанным правилам составить палиндром наибольшей длины, а если таких палиндромов несколько, то выбрать первый из них в алфавитном порядке.
Формат входных данных
В первой строке входных данных содержится число N (1 <= N <= 100000). Во второй строке задается последовательность из N больших латинских букв (буквы записаны без пробелов).
Формат результата
В единственной строке выходных данных выдайте искомый палиндром.
Примеры
Входные данные
3
AAB
Результат работы
ABA
Входные данные
6
QAZQAZ
Результат работы
AQZZQA
Входные данные
6
ABCDEF
Результат работы
A
"""
input()
string=input()
d={}
for i in string:
if i in d:
d[i]+=1
else:
d[i]=1
center=""
string=""
for i in sorted(d):
string+=i*(d[i]//2)
if center=="" and d[i]%2==1:
center=i
print(string+center+string[::-1])