- string panlindrome(string input)
- {
- if (input.length() == 1)
- {
- return "true";
- }
- else
- {
- if (input.length() % 2 == 0) //갯수가 짝수
- {
- Copy = input;
- if (Copy[0] == input[input.length() - 1])
- {
- if (input[0] == input[1])
- {
- return "true";
- }
- else{
- input = input.substr(1, input.length() - 2);
- return panlindrome(input);
- }
- }
- else
- return "false";
- }
- else //갯수가 홀수
- {
- Copy = input;
- if (Copy[0] == input[input.length() - 1])
- {
- input = input.substr(1, input.length() - 2);
- if (input.length() == 1)
- {
- return "true";
- }
- else
- {
- return panlindrome(input);
- }
- }
- else
- return "false";
- }
- }
- }
내가 짜준 코드인데
알고리즘은 이럼
일단 string 문자의 문자열 갯수가 짝수, 홀수, 단일 인지 판단
판단후 단일----> 회문 맞음
짝수 ----> 맨앞, 맨뒤가 맞는지 확인 후 중간만 자르고 다시 재귀 <마지막 2개 남았을때는 2개가같은지보고 회문맞다고 리턴>
홀수 -----> 짝수랑 같은데 마지막 한개 남으면 회문 맞다고 리턴
bool로는 일부러 안짬. 그냥 메인에서 바로 출력할수 있게끔 문자로 리턴함
네이년이나 구글에 이거 많던데 그건 다 비슷비슷하게 짜져있는데 짧긴하더라 근데 걸레라 안씀... ㅠ
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.