alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 1213 팰린드롬 만들기_파이썬 본문
1213 팰린드롬 만들기 https://www.acmicpc.net/problem/1213
문제 풀기 전 공부할 것 : 구현
풀이
<내용>
- 영어 이름을 names에 입력받고 name_cnt에 영어 이름에 포함된 알파벳 대문자 수를 저장한다.
- for문을 돌면서 홀수인 알파벳 대문자가 몇 개 있는지 확인하고 홀수 알파벳과 짝수 알파벳을 저장한다.
- 홀수가 2개 이상이면 팰린드롬을 만들 수 없기 때문에 "I'm Sorry Hansoo"를 출력한다.
- 홀수가 1개 이하라면 짝수 알파벳 + 홀수 알파벳 + 짝수 알파벳 역순을 출력한다.
<코드>
names = input()
name_cnt = [0 for _ in range(26)]
for name in names:
name_cnt[ord(name)-65] += 1
odd = 0
odd_alpha = ''
alpha = ''
for i in range(26):
if name_cnt[i] % 2 == 1:
odd += 1
odd_alpha += chr(i+65)
alpha += chr(i+65) * (name_cnt[i] // 2)
if odd > 1:
print("I'm Sorry Hansoo")
else:
print(alpha+odd_alpha+alpha[::-1])
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 1058 친구_파이썬 (0) | 2020.09.19 |
---|---|
[알고리즘][Python] 백준(BOJ) 14490 백대열_파이썬 (0) | 2020.09.18 |
[알고리즘][Python] 백준(BOJ) 1543 문서 검색_파이썬 (0) | 2020.09.16 |
[알고리즘][Python] 백준(BOJ) 4999 아!_파이썬 (0) | 2020.09.15 |
[알고리즘][Python] 백준(BOJ) 11365 !밀비 급일_파이썬 (0) | 2020.09.15 |
Comments