심사문제 47.5 질문있습니다....ㅠㅜ
, Ms_P JK님이 작성int main() {
char s1[31];
int length;
bool isPalindrome = true;
int i, j;
scanf("%[^\n]s", s1);
length = strlen(s1);
for (i = 0; i < length / 2;) {
for (j = length - 1; j >= length/2;) {
if (s1[j] == " ") {
j--;
}
if (s1[i] == " ") {
i++;
}
if (s1[i] != s1[length - 1 - j]) {
isPalindrome = false;
break;
}
i++; j--;
}
}
printf("%d\n", isPalindrome);
return 0;
}
--------------------------------------------------------------------------------------
이런 식으로 코드를 짰는데 통과를 하지 못하고 있네요....조언 부탁드립니다....ㅠㅜㅠㅜ
회신: 심사문제 47.5 질문있습니다....ㅠㅜ
, 도장_ 관리자님이 작성문제의 테스트 케이스를 보면
표준 입력: nurs es run
표준 출력: 1
nurs와 es 사이의 공백이 2개입니다. 공백이 1개가 아니라 n개인 경우에도 회문으로 판별할 수 있어야 합니다.
if문으로 공백을 판별하면 공백이 1개인 경우만 처리하게 됩니다. 반복문을 돌며 공백이 아닐 때까지 위치를 이동해야 합니다.
자주 묻는 질문의 목록이나 47.5로 검색해보면 이전 답변을 볼 수 있습니다.