practivceAlgorithm/백준
[백준][Python] 1213 펠린드롬 만들기
findTheValue
2021. 10. 1. 07:31
불가능한 경우는 홀수번 나오는 문자가 2개 이상일 경우다.
이 경우를 제외하고 각 문자를 배열에 넣어 정렬 후 뒤집은 배열과 합치는 방법으로 펠린드롬을 만들 수 있다.
import sys
input = sys.stdin.readline
from collections import defaultdict
name = input().rstrip()
count = defaultdict(int)
for char in name:
count[char] += 1
char_set = []
flag = 0
mid = ''
for char in count:
if count[char] % 2:
if flag:
print("I'm Sorry Hansoo")
exit()
else:
mid = char
flag = 1
for _ in range(count[char] // 2):
char_set.append(char)
else:
for _ in range(count[char] // 2):
char_set.append(char)
char_set.sort()
answer = ''.join(char_set)
print(answer + mid + answer[::-1])