최대 1 분 소요

문제

숫자가 대칭인지 아닌지 판별

코드

#include <iostream>
#include <string>

std::string num;

int main()
{
    while (true)
    {
        int isSame = true;
        getline(std::cin, num);
        if (num == "0")
        {
            break;
        }

        for (int i = 0; i < num.length() / 2; i++)
        {
            if (num[i] != num[num.length() - i - 1])
            {
                isSame = false;
            }
        }
        if (isSame)
        {
            std::cout << "yes" << std::endl;
        }
        else
        {
            std::cout << "no" << std::endl;
        }
    }
}

풀이

문자열의 반만큼 반복문을 돌리면서 같은지 다른지 비교를 하는 것이다.

배운 점

  1. 문자열의 비교는 compare / strcmp를 사용하지만 위 코드는 문자 하나씩 비교해나가는 것이기 때문에 == / != 을 사용한 것이다.

  2. 문자열 길이를 구할 때는 .length()를 사용한다.

댓글남기기