-
1989. 초심자의 회문 검사코딩 테스트/SW Expert Academy 2021. 6. 23. 17:49
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제 이해
-> 거꾸로 읽어도 제대로 읽은 것과 같은 문장이나 낱말을 회문이라 하는데 이를 판단하는 프로그램
문제 주의
-> 각 단어의 길이는 3 이상 10 이하의 문자열
문제 풀이
-> 주어진 문자열과 비교할 임시 문자열을 만들고 똑같이 대입한다.
-> 임시 문자열의 끝과 주어진 문자열의 첫 번째를 비교한다.
-> 만일, 다를 경우 회문이 아니므로 0을 반환하고 출력 양식에 맞춰 출력한다.
-> 아니라면 같은 문자이므로 회문일 가능성이 있어 각 문자열의 자리수 비교를 위해 수치를 조정한다.
-> 주어진 문자열은 다음 번 문자를 검색하기 위해 n을 1 더해주고, // 앞에서 두 번째 글자
-> 임시 문자열은 다음 번 문자 검색하기 위해 j 를 1 빼준다. // 끝에서 두 번째 글자
-> 위 과정을 반복, 문제없이 조건문을 빠져나오면 문장은 회문이므로 1을 반환하고 출력 양식에 맞춰 출력한다.
#include<iostream> using namespace std; int Func(string _str) { string tempStr = _str; int n = 0; for (int i = _str.length() - 1; i >= 0; i--) { if (tempStr[i] != _str[n]) return 0; else n++; } return 1; } int main() { int testCount; cin >> testCount; for (int i = 0; i < testCount; i++) { string testCase; cin >> testCase; cout << "#" << i + 1 << " " << Func(testCase) << endl; } return 0; }
'코딩 테스트 > SW Expert Academy' 카테고리의 다른 글
1954. 달팽이 숫자 (0) 2021.06.24 1970. 쉬운 거스름돈 (0) 2021.06.23 1945. 간단한 소인수분해 (0) 2021.06.22 1986. 지그재그 숫자 (0) 2021.06.22 1284. 수도 요금 경쟁 (0) 2021.06.21