주어진 숫자가 회문인지 아닌지 확인

2868 단어
오늘 우리는 해결 방법을 볼 수 있습니다

Check the given number is palindrome or not



우리는 이것을 사용하여 해결할 수 있습니다
1. 모드 방식
2. 문자열 빌더 역방향 방법

수와 주어진 수의 역수가 같으면 수는 회문(palindrome)
121의 경우 121의 역수는 다시 121이므로 회문
123의 경우 123의 역순은 321입니다. 321은 123과 같지 않습니다.
, 그래서 그것은 회문이 아닙니다
  • 모드 방법

  • boolean usingModMethod(int inputNumber) {
        int reverseNumber = 0;
        int temp = inputNumber;
        while (temp > 0) {
          int lastDigit = temp % 10;
          reverseNumber = reverseNumber * 10 + lastDigit;
          temp=temp/10;
        }
        if (reverseNumber == inputNumber) {
          return true;
        }
        return false;
      }
    


    여기에서 우리는 주어진 숫자가 한 자리 숫자인지 확인할 것입니다. 왜냐하면 우리가 7을 뒤집더라도 7만 줄 것이기 때문에 그것을 확인하고 있기 때문입니다.

    숫자가 한 자리가 아니면 초기값이 0인 reverseNumber 변수를 생성한 다음 임시 값을 생성하고 여기에 입력 값을 할당합니다.

    주어진 숫자가 Zero(0)보다 큰지 확인하는 while 루프를 만듭니다. 참이면 while 루프에 들어갑니다.
    while 루프 내에서 주어진 숫자의 마지막 숫자를 취하므로 입력이 121이고 mod(%) 10을 121에 적용하면 마지막 숫자인 1이 제공됩니다.

    121 % 10 => 1 (last digit)



    이제 reverseNumber에 10을 곱하고 마지막 숫자를 더합니다.

    reverseNumber = ( 0 * 10 ) + 1 => 1



    이제 온도를 10으로 나누면 121이 12가 됩니다.

    NOTE:- Refer note section to know about divide in java.



    이제 while 루프 검사는 0보다 12가 큽니다. 이것은 다시 while 루프에 들어갑니다. 우리는 mod에 의해 마지막 숫자를 얻습니다.

    12 % 10 => 2 (last digit)



    이제 reverseNumber에 10을 곱하고 마지막 숫자를 더합니다.

    reverseNumber = ( 1 * 10 ) + 2(last digit) => 12



    이제 temp를 10으로 나누면 12가 1이 되고 while 루프 검사는 0보다 1이 크므로 다시 while 루프에 들어가 mod로 마지막 숫자를 얻습니다.

    1 % 10 => 1 (last digit)



    이제 reverseNumber에 10을 곱하고 마지막 숫자를 더합니다.

    reverseNumber = ( 12 * 10 ) + 1(last digit) => 121



    이제 temp를 10으로 나누면 1이 0이 되므로 temp는 0보다 크지 않고 while 루프에 들어가지 않습니다.

    같은 경우 inputNumber가 reverseNumber와 동일한지 확인합니다true 그렇지 않으면 반환false
  • StringBuilder 역방향 사용

  • boolean usingStringBuilder(int inputNumber){
        String str = String.valueOf(inputNumber);
        StringBuilder br = new StringBuilder(str);
        String reverse = br.reverse().toString();
        if(str.equals(reverse)){
          return true;
        }
        return false;
      }
    


    This에서 우리는 Java StringBuilder 역방향 메소드를 사용하여 숫자를 반전시키고 확인하는 것이 inputNumber와 동일한지 확인합니다.

    NOTE:- Remember to convert string builder to string before compare or else you will get false always even if it same



    이것은 내 DSA 준비 시리즈의 일부입니다.
    Day 1 to 9 : 알고리즘 분석
    10일:
    11일차:

    좋은 웹페이지 즐겨찾기