※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 10988번 문제인 팰린드롬인지 확인하기이다.
문제는 아래 링크를 확인하자.

www.acmicpc.net/problem/10988

 

10988번: 팰린드롬인지 확인하기

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

palindrome(팰린드롬; 회문) 문자열이란 앞에서부터 읽어도 뒤에서부터 읽어도 같은 문자열을 의미한다.

예를 들어, level 이나 madam 등의 영단어는 palindrome 문자열이다.

 

이번 문제는 문자열 s의 길이를 slen이라 할 때 n번째 글자와 slen-(n-1)번째 문자가 같은지 반복문으로 확인해보았다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::string;

int main()
{
    string s;
    cin >> s;
    int slen = s.length();
    int ans = 1;
    for (int i = 0;i < slen / 2;i++) { // 절반만 확인해도 나머지 반은 자동으로 확인
        if (s[i] != s[slen - i-1]) { // 앞에서 (i+1)번째 글자와 뒤에서 (i+1)번째 글자 비교
            ans = 0;
            break;
        }
    }
    cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 1977 // C++] 완전제곱수  (0) 2021.01.03
[BOJ 1475 // C++] 방 번호  (0) 2021.01.02
[BOJ 10808 // C++] 알파벳 개수  (0) 2020.12.31
[BOJ 2576 // C++] 홀수  (0) 2020.12.30
[BOJ 14470 // C++] 전자레인지  (0) 2020.12.29

+ Recent posts