N

(SWEA c++)4522. 세상의 모든 팰린드롬 본문

SW Expert Academy

(SWEA c++)4522. 세상의 모든 팰린드롬

naeunchan 2020. 11. 11. 10:25
728x90
반응형

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWO6Oao6N4QDFAWw&categoryId=AWO6Oao6N4QDFAWw&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

회문 검사 + 와일드 카드를 이용한 문제.

 

 

문자를 받아와서 회문인지 검사를 한다.

만약 '?'가 나오게 된다면 continue를 통해 넘어가 주도록 한다.

알파벳 소문자가 나오게 된다면 반대편 위치에 있는 문자와 같은지 검사를 하도록 한다.

같지 않다면 check flag를 true로 바꿔주고 탈출.

 

check의 true, false 여부에 따라 결과를 출력하면 된다.

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    int t;
    cin >> t;
    
    for(int tc = 1; tc <= t; tc++)
    {
        string s;
        int len;
        bool check = false;
        cin >> s;
        
        len = s.size();
        for(int i = 0; i < len / 2; i++)
        {
            if(s[i] == '?' || s[len - 1 - i] == '?')
                continue;
            if(s[i] != s[len - 1 - i])
            {
                check = true;
                break;
            }
        }
        
        if(check)
            cout << "#" << tc << " " << "Not exist" << endl;
        else
            cout << "#" << tc << " " << "Exist" << endl;
    }
    return 0;
}
728x90
반응형