[c/c++] 백준 10988(Bronze 2)

은동·2023년 3월 9일
0

Baekjoon

목록 보기
38/49

🔨 문제

https://www.acmicpc.net/problem/10988

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.

level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.


🔨 해결방법

변수 두 개를 활용하여 하나는 인덱스 0부터 하나는 인덱스 문자열.size() -1부터 시작

문자가 다르면 바로 return하여 종료하고 펠린드롬이면서 0부터 시작하는 변수가 문자열.size()-1부터 시작하는 문자열보다 커지거나 같아진다면 while문을 빠져나오고 1를 출력


🔨 코드

#include <iostream>
using namespace std;

int main() {

    string word;
    cin >> word;
    int i = 0;
    int j = word.size() - 1;

    while (1) {
        if (word[i] != word[j]) {
            cout << 0;
            return 0;
        }
        else {
            i++;
            j--;
        }
        if (i >= j) {	// 더 이상 찾아볼 필요 없음
            break;
        }
    }
    cout << 1;

    
    return 0;

}
profile
자자 선수입장~

0개의 댓글