728x90
반응형
1259번: 팰린드롬수
문제
https://www.acmicpc.net/problem/1259
풀이
문자열 S를 입력받고 왼쪽 끝과 오른쪽 끝에서부터 차례대로 문자가 같은지 확인하며 같은 개수를 센다. 하나라도 틀리다면 "no"를 출력한다. 아니라면 탐색을 모두 끝내면 "yes"를 출력한다.
오래전에 푼 문제라 너무 어렵게 푼 것 같다. 그냥 문자열을 복사해 두고 <algorithm> 헤더의 reverse() 함수를 사용해 뒤집어서 같은지 비교만 하면 풀 수 있는 간단한 문제다.
코드
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
while (1) {
string s;
cin >> s;
if (s == "0")
break;
int cnt = 0;
for (int i = 0; i < floor((float)s.size() / 2 + 0.5); i++) {
if (s[i] != s[s.size() - i - 1]) {
cout << "no\n";
break;
} else {
cnt++;
}
}
if (cnt == floor((float)s.size() / 2 + 0.5))
cout << "yes\n";
}
return 0;
}
728x90
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[백준 / BOJ] C++ 1264 모음의 개수 (0) | 2023.02.12 |
---|---|
[백준 / BOJ] C++ 1260 DFS와 BFS (0) | 2023.02.12 |
[백준 / BOJ] C++ 1237 정ㅋ벅ㅋ (0) | 2023.02.12 |
[백준 / BOJ] C++ 27467 수학 퀴즈 (0) | 2023.02.12 |
[백준 / BOJ] C++ 27465 소수가 아닌 수 (0) | 2023.02.12 |