https://www.acmicpc.net/problem/10988
10988번: 팰린드롬인지 확인하기
첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
string str;
int ret=1;
int main(){
cin >> str;
for(int i=0; i< str.size()/2; i++){
if(str[i] != str[str.size()-1-i]){
ret = 0;
break;
}else{
ret =1;
}
}
cout << ret;
return 0;
}
* 항상 문자의 길이 범위에 집중하자!! (단어의 길이가 범위의 양 끝인 경우를 빠뜨리지 않고 잘 생각해야 한다)
- 문자의 길이가 1일 때는 for문이 실행되지 않으므로 ret은 1로 초기화 해야한다!!
2) reverse 이용
#include <bits/stdc++.h>
using namespace std;
string s, tmp;
int main(){
cin >> s;
tmp = s;
reverse(tmp.begin(), tmp.end());
if(tmp == s) cout << "1" << "\n";
else cout << "0" << "\n";
return 0;
}
'코테' 카테고리의 다른 글
백준 1296번- 팀 이름 정하기 (1) | 2023.08.15 |
---|---|
백준 1292번 - 쉽게 푸는 문제 (0) | 2023.08.14 |
백준 2979번 - 트럭주차 (0) | 2023.08.13 |
백준 1138번 - 한줄로 서기 (0) | 2023.08.13 |
백준 1063번 -킹 (0) | 2023.08.13 |