백준/Greedy
[그리디/백준] 1213번: 팰린드롬 만들기
ydin
2022. 7. 9. 14:54
-문제: https://www.acmicpc.net/problem/1213
-정답풀이:
갯수가 홀수인 문자가 2개 이상이면 팰린드롬을 못 만든다는 것을 알았다
근데 문자들이라 이걸 디렉토리로 해야하나 고민이 됐다.
그래서 답지를 봤더니 문자를 ord로 숫자로 바꾼 다음 리스트에 저장한 뒤 각 개수를 저장하면된다.
홀수 개 있는 경우를 count로 또 세고, odd_alpha에 문자를 누적한다.
count에 따라 나누어 출력하면된다
data=list(input())
data_cnt=[0 for _ in range(26)]
alpha=''
odd_alpha=''
for i in data:
data_cnt[ord(i)-65]+=1
count=0
for i in range(26):
if data_cnt[i]%2==1:
count+=1
odd_alpha+=chr(i+65)
alpha+=chr(i+65)*(data_cnt[i]//2)
if count >=2:
print("I'm Sorry Hansoo")
else:
print(alpha+odd_alpha+alpha[::-1])