str = sorted(input())
letter_dic = {}
start = ''
mid = ''
for i in str:
if i in letter_dic: letter_dic[i] += 1
else: letter_dic[i] = 1
if len(list(filter(lambda x: x % 2 == 1,letter_dic.values()))) >= 2:
print("I'm Sorry Hansoo")
exit()
for key, value in letter_dic.items():
if value % 2 != 0:
mid += key
start += key * (value // 2)
else:
start += key * (value // 2)
print(start + mid + start[::-1])
https://www.acmicpc.net/problem/1213
1213번: 팰린드롬 만들기
첫째 줄에 문제의 정답을 출력한다. 만약 불가능할 때는 "I'm Sorry Hansoo"를 출력한다. 정답이 여러 개일 경우에는 사전순으로 앞서는 것을 출력한다.
www.acmicpc.net
'study > Algorithm' 카테고리의 다른 글
[백준] 파이썬 5525번: IOIOI (0) | 2024.03.30 |
---|---|
[백준] 파이썬 2002번: 추월 (0) | 2024.03.30 |
[백준] 파이썬 1764번: 듣보잡 (0) | 2024.03.30 |
[백준] 파이썬 28432번: 끝말잇기 (0) | 2024.03.30 |
[백준] 파이썬 2745번: 진법 변환 (0) | 2024.03.30 |