소문자만 포함된 문자열이 주어진다고 가정합니다. 우리의 임무는 주어진 문자열에 회문이고 길이가 짝수인 부분 문자열이 있는지 찾는 것입니다. 찾으면 1을 반환하고 그렇지 않으면 0을 반환합니다.
따라서 입력이 "오후"와 같으면 출력이 true가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 초기화 x의 경우:=0, x <문자열의 길이 - 1일 때 x를 1만큼 증가, 수행 -
- 문자열[x]가 문자열[x + 1]과 같은 경우:
- 참을 반환
- 문자열[x]가 문자열[x + 1]과 같은 경우:
- 거짓 반환
예시(C++)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; bool solve(string string) { for (int x = 0; x < string.length() - 1; x++) { if (string[x] == string[x + 1]) return true; } return false; } int main() { cout<<solve("afternoon") <<endl; }
입력
"afternoon"
출력
1