Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

Bash 스크립트로 숫자가 회문(Palindrome)인지 확인하는 방법

숫자가 회문(palindrome)인지 확인하려면 먼저 해당 숫자를 거꾸로 뒤집은 후, 원래 숫자와 뒤집은 숫자가 서로 같은지 비교해야 합니다. 두 값이 일치한다면 그 숫자는 회문입니다.

Bash에서는 이러한 뒤집기 작업을 매우 간단하게 수행할 수 있습니다. 바로 rev 명령어를 사용하는 것인데, rev는 입력받은 문자열의 문자 순서를 반대로 뒤집어 출력해 주는 GNU 유틸리티입니다. 아래 예제 프로그램을 통해 구체적인 사용 방법을 살펴보겠습니다.

예제 코드

#!/bin/bash
# GNU bash Script
n=12321
rev=$(echo $n | rev)
if [ $n -eq $rev ]; then
    echo "Number is palindrome"
else
    echo "Number is not palindrome"
fi

코드 설명

  • n=12321: 회문 여부를 검사할 숫자를 변수에 저장합니다.
  • rev=$(echo $n | rev): echo로 숫자를 출력한 결과를 파이프(|)를 통해 rev 명령어에 전달하여 뒤집은 값을 변수에 저장합니다. 즉, 12321이 그대로 12321로 반환됩니다.
  • if [ $n -eq $rev ]: 원래 숫자와 뒤집은 숫자가 같은지 -eq 연산자로 비교합니다.

실행 결과

Number is palindrome

12321은 앞에서 읽으나 뒤에서 읽으나 같은 숫자이므로 회문으로 판별되어 위와 같은 결과가 출력됩니다. 만약 회문이 아닌 숫자(예: 12345)를 입력하면 "Number is not palindrome"이라는 메시지가 출력됩니다.