Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용하여 주어진 숫자의 기울기 찾기

<시간/>

이 문제에서는 숫자 N이 주어집니다. 우리의 임무는 주어진 숫자의 기울기를 찾는 것입니다. .

숫자의 기울기 숫자의 최대 및 최소 자릿수의 총 수입니다.

최대 자릿수 두 이웃(이전 및 다음)이 더 작은 숫자입니다.

최대 자릿수 두 이웃(이전 및 다음)이 더 큰 숫자입니다.

문제를 이해하기 위해 예를 들어보겠습니다.

입력

N = 9594459

출력

2

솔루션 접근 방식

이 문제에 대한 간단한 해결책은 첫 번째와 마지막(최대 또는 최소 형식으로 계산하지 않음)을 제외하고 숫자를 한 자릿수로 순회하는 것입니다. 이제 각 숫자에 대해 숫자가 앞뒤의 숫자보다 크거나 작은지 확인합니다. 마지막으로 최대 및 최소 개수를 반환합니다.

예시

솔루션 작동을 설명하는 프로그램

#include <iostream>
using namespace std;
int findNumberSlope(string N, int len){
   int slope = 0;
   for (int i = 1; i < len - 1; i++) {
      if (N[i] > N[i - 1] && N[i] > N[i + 1])
         slope++;
      else if (N[i] < N[i - 1] && N[i] < N[i + 1])
         slope++;
   }
   return slope;
}
int main(){
   string N = "574473434329";
   int len = N.size();
   cout<<" The slope of the given number is "<<findNumberSlope(N, len);
   return 0;
}

출력

The slope of the given number is 7