블로그 언저리인 무언가
[백준/BOJ] 1213 팰린드롬 만들기 본문
728x90
문제 : 1213 팰린드롬 만들기
문자열을 입력받아 순서를 바꾸어 팰린드롬으로 만들어 출력하는 문제이다.
어떤 문자의 개수가 홀수인 경우가 2개 이상이 되면 불가능한 경우이고,
가능할 경우에는 사전 순으로 가장 빠른 것을 출력해야 하기 때문에
배열 앞에서부터 순차적으로 출력하고 홀수개인 것을 출력한 뒤,
다시 뒤에서부터 순차적으로 출력하면 된다.
Code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
ll arr[30]={0}, chk=0;
string S;
cin >> S;
for (int i=0;i<S.size();i++){
arr[S[i]-'A']++;
}
for (int i=0;i<26;i++){
if (arr[i]%2)
chk++;
}
if (chk>1){
cout << "I'm Sorry Hansoo";
}
else{
for (int i=0;i<26;i++){
for (int j=0;j<arr[i]/2;j++)
cout << (char)(i+'A');
}
for (int i=0;i<26;i++){
if (arr[i]%2)
cout << (char)(i+'A');
}
for (int i=25;i>=0;i--){
for (int j=0;j<arr[i]/2;j++)
cout << (char)(i+'A');
}
}
return 0;
}
728x90
'Programming > BOJ' 카테고리의 다른 글
[백준/BOJ] 5525 IOIOI (0) | 2020.09.19 |
---|---|
[백준/BOJ] 1780 종이의 개수 (0) | 2020.09.19 |
[백준/BOJ] 1531 투명 (0) | 2020.09.18 |
[백준/BOJ] 9715 면적 구하기 (0) | 2020.09.18 |
[백준/BOJ] 15429 Odd Gnome (0) | 2020.09.18 |
Comments