


//전체 코드
//solution 함수
bool solution(char* sentence) {
char *str = (char *)malloc(sizeof(char) * 103);
int len = 0;
for(int i = 0; i < strlen(sentence); i++){
char ch = sentence[i];
if(ch != ' ' || ch != '.') { //여기 조건 고치기가 문제임!
str[len++] = ch;
}
}
for(int i = 0; i < len / 2; i++){
if(str[i] != str[len - 1 - i]) return false;
}
return true;
}
//main
int main() {
char sentence1[19] = "never odd or even.";
bool ret1 = solution(sentence1);
printf("solution 함수의 반환 값은 %s 입니다.\n", ret1 == true ? "true" : "false");
char sentence2[19] = "palindrome";
bool ret2 = solution(sentence2);
printf("solution 함수의 반환 값은 %s 입니다.\n", ret2 == true ? "true" : "false");
}
앞에서 읽거나.. 뒤에서 읽거나... 똑같다! 마치 슈퍼주니어 - 로꾸꺼처럼
로꾸꺼의 가사를 보면 앞에서 읽어도, 뒤에서 읽어도 똑같다.

int main() {
char sentence1[19] = "never odd or even.";
bool ret1 = solution(sentence1);
printf("solution 함수의 반환 값은 %s 입니다.\n", ret1 == true ? "true" : "false");
char sentence2[19] = "palindrome";
bool ret2 = solution(sentence2);
printf("solution 함수의 반환 값은 %s 입니다.\n", ret2 == true ? "true" : "false");
}
bool solution(char* sentence) {
char *str = (char *)malloc(sizeof(char) * 103);
int len = 0;
for(int i = 0; i < strlen(sentence); i++){
char ch = sentence[i];
if(ch != ' ' || ch != '.') { //여기 조건 고치기가 문제임!
str[len++] = ch;
}
}
for(int i = 0; i < len / 2; i++){
if(str[i] != str[len - 1 - i]) return false;
}
return true;
}
bool solution(char* sentence) {
char *str = (char *)malloc(sizeof(char) * 103);
int len = 0;
for(int i = 0; i < strlen(sentence); i++){
char ch = sentence[i];
if(ch != ' ' && ch != '.') { //여기 조건 고치기 || -> &&
str[len++] = ch;
}
}
//len = 14, 14의 절반인 7만큼 돌리기
for(int i = 0; i < len / 2; i++){
//왼쪽에서 i번째일 때 오른쪽에서부터 i번째와 같음
//len - 1 방의 맨 끝, len -1 - i
if(str[i] != str[len - 1 - i]) return false;
//왼쪽 끝과 오른쪽 끝에서 비교하면서 가운데로 옴
}
return true;
}


||은 OR의 의미로 '이거나' 라는 뜻이다.
&&는 AND의 의미로 '이고' 라는 뜻이다.
bool solution(char* sentence) {
char *str = (char *)malloc(sizeof(char) * 103);
int len = 0;
for(int i = 0; i < strlen(sentence); i++){
char ch = sentence[i];
if(ch != ' ' && ch != '.') { //여기 조건 고치기 || -> &&
str[len++] = ch;
}
}
//len = 14, 14의 절반인 7만큼 돌리기
for(int i = 0; i < len / 2; i++){
//왼쪽에서 i번째일 때 오른쪽에서부터 i번째와 같음
//len - 1 방의 맨 끝, len -1 - i
if(str[i] != str[len - 1 - i]) return false;
//왼쪽 끝과 오른쪽 끝에서 비교하면서 가운데로 옴
}
return true;
}
