-문제: 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])
'백준 > Greedy' 카테고리의 다른 글
[그리디/백준] 15904번: UCPC는 무엇의 약자일까? (0) | 2022.07.11 |
---|---|
[그리디/백준] 2212번: 센서 (0) | 2022.07.11 |
[그리디/백준] 15903번: 카드 합체 놀이 (0) | 2022.07.09 |
[그리디/백준] 11497번: 통나무 건너뛰기 (0) | 2022.07.09 |
[그리디/백준] 1783번: 병든 나이트 (0) | 2022.07.07 |