#include <iostream>
using namespace std;
int main(int argc, char **argv){
string str;
char c;
// 굳이 반복문 쓰지 말고 reverse() 써서 문자열 비교하기
do{
cin >> str;
if(str == "0"){
return 0;
}
if(str.length() % 2 == 0){ // 1221 팰린드롬
for(int i = 0; i < str.length(); i++){
c = str[i];
if(c != str[str.length() - i - 1]){
printf("no\n");
break;
}
if(i == (str.length() / 2 - 1)){
printf("yes\n");
break;
}
}
} else {
for(int i = 0; i < str.length(); i++){
c = str[i];
if(c != str[str.length() - i - 1]){
printf("no\n");
break;
}
if(i == (str.length() / 2)){
printf("yes\n");
break;
}
}
}
} while(str != "0");
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
string input;
while(input != "0") {
cin >> input;
string buf = input; //reverse 하기 전 값을 저장
reverse(input.begin(), input.end()); // input문자열을 reverse
if(input != "0") {
if(input == buf) cout << "yes\n";
else cout << "no\n";
}
}
return 0;
}
다른 분은 이런식으로 작성하셨더라. 딱 봐도 훨씬 쉬워보인다.