https://www.acmicpc.net/problem/10988
10988번: 팰린드롬인지 확인하기
첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
www.acmicpc.net
나는 stack자료구조를 이용했다.
근데 지금 다시 생각해보니 메모리만 더 많이 쓰게된 격이지 않나 생각도 든다.
뭐.. 이런 방법도 있는 거죠ㅎㅎ
#include <iostream>
#include <stack>
#include <cmath>
using namespace std;
int main() {
string word;
stack<char> s;
cin >> word;
for (int i = 0; i < word.length(); i++) {
s.push(word[i]);
}
int turn = 0;
bool flag = true;
while(ceil(word.length()/2) > turn) {
char currChar = s.top();
s.pop();
if (word[turn++] != currChar) {
flag = false;
break;
}
}
if(flag) {
cout << 1;
} else {
cout << 0;
}
return 0;
}
728x90
'백준이당' 카테고리의 다른 글
[C++] 백준 1074번 : Z (0) | 2023.08.01 |
---|---|
[C++] 백준 1182번? : 부분수열의 합 (0) | 2023.08.01 |
[C++] 백준 4375번 : 1 (0) | 2023.08.01 |
분할정복을 알아보자 (0) | 2023.07.26 |
[JAVA] 백준 5430번 : AC (0) | 2023.07.12 |