작성
·
150
0
팰린드롬의 앞부분 + 중앙 + 뒷부분 을 출력하는 코드를 만들었습니다.
https://www.acmicpc.net/source/76353773
vs에서 볼때는 반례가 없어보이는데 백준에서는 오답이라고 나옵니다.
어디가 잘못된걸까요?
답변 2
0
0
안녕하세요 ㅎㅎ
전반적으로 잘 짜신 코드지만 몇몇 틀린 부분이 있어서
제가 좀 다듬어봤습니다.
이렇게 한번 고쳐보시겠어요?
#include <bits/stdc++.h>
using namespace std;
string s, answer1, answer2, answer;
int ss[26];
int c = -1;
int main() {
cin >> s;
for (char i : s) {
ss[i - 'A']++;
}
int fail = 0;
for (int i = 0; i < 26; i++) {
if (ss[i] % 2 == 1) {
fail++;
c = i;
}
}
if (fail > 1) {
cout << "I'm Sorry Hansoo";
return 0;
}
for (int i = 0; i < 26; i++) {
for (int j = 0; j < ss[i] / 2; j++) {
answer1 += (i + 'A');
}
}
answer2 = answer1;
reverse(answer2.begin(), answer2.end());
if(c != -1) {
answer1 += (c + 'A');
}
cout << answer1 + answer2;
}
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.