1213 : 팰린드롬 만들기

풀이

앞뒤로 앞뒤로 넣어주자~

코드

#include <stdio.h>
#include <string.h>

int n, i, cnt, flag, a[26];
char str[55];

int main() {
	scanf("%s", str);
	
	n = strlen(str);
	for (i = 0; i < n; i++) {
		a[str[i] - 65]++;
	}

	for (i = 0; i < 26; i++) {
		while (a[i]) {
			if (a[i] == 1) {
				if (flag) {
					puts("I'm Sorry Hansoo");
					return 0;
				}
				flag = 1, str[n / 2] = i + 65;
				break;
			}
			a[i] -= 2, str[n - cnt - 1] = str[cnt++] = i + 65;
		}
	}

	printf("%s", str);

	return 0;
}

아무말

백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이

wookje.kwon's profile image

wookje.kwon

2017-11-13 15:31

Read more posts by this author