-
백준 17609 회문 | C++[백준 알고리즘]/[C++] 2021. 5. 19. 17:56728x90반응형
이번 포스팅은 백준 17609번 회문입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
https://www.acmicpc.net/problem/17609
기본 알고리즘
두 포인터
전체 코드
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869//백준17609 회문#include <iostream>#include <string>using namespace std;bool checkPalin(string str) {int s = 0;int e = str.length() - 1;while (s < e) {if (str[s] != str[e]) {return false;}else {s++;e--;}}return true;}void canPalin(string str) {int s = 0;int e = str.length() - 1;while (s < e) {if (str[s] != str[e]) {string original = str;string temp1 = str.erase(s,1);string temp2 = original.erase(e,1);/*cout << "temp1: " << temp1 << "\n";cout << "temp2: " << temp2 << "\n";*/if (checkPalin(temp1)) {//cout << "canPalin" << "\n";cout << 1 << "\n";}else if (checkPalin(temp2)) {//cout << "canPalin" << "\n";cout << 1 << "\n";}else {//cout << "notPalin" << "\n";cout << 2 << "\n";}return;}else {s++;e--;}}}int main() {int T;cin >> T;while (T--) {string str;cin >> str;if (checkPalin(str)) {//cout << "palin" << "\n";cout << 0 << "\n";}else {canPalin(str);}}return 0;}cs 728x90반응형'[백준 알고리즘] > [C++]' 카테고리의 다른 글
백준 11728 배열 합치기 | C++ (0) 2021.05.19 백준 2075 N번째 큰 수 | 우선순위 큐 | C++ (0) 2021.05.17 백준 1507 궁금한 민호 | 플로이드-워셜 | C++ (0) 2021.05.14 백준 15723 n단 논법 | 플로이드-워셜 | C++ (0) 2021.05.14 백준 1956 운동 | 플로이드-워셜 | C++ (0) 2021.05.12