C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

ロボットの動きの減少した方向の文字列を見つけるためのC++コード


n文字の文字列Sがあるとします。文字は「R」または「U」のいずれかです。 2D平面では、ロボットは右または上に移動できます。 「R」の場合は右に移動し、「U」の場合は上に移動します。ただし、文字列が大きすぎるため、文字列を小さくします。 「RU」や「UR」のようなペアは、斜め移動「D」として置き換えられます。最終的に更新された縮小文字列の長さを見つける必要があります。

したがって、入力がS ="RUURU"の場合、文字列は "DUD"

になるため、出力は5になります。

ステップ

これを解決するには、次の手順に従います-

ans := 0
n := size of S
for initialize i := 0, when i < n, update (increase i by 1), do:
   if S[i] is not equal to S[i + 1], then:
      (increase i by 1)
   (increase ans by 1)
return ans

理解を深めるために、次の実装を見てみましょう-

#include <bits/stdc++.h>
using namespace std;
int solve(string S){
   int ans = 0;
   int n = S.size();
   for (int i = 0; i < n; ++i){
      if (S[i] != S[i + 1])
         i++;
      ans++;
   }
   return ans;
}
int main(){
   string S = "RUURU";
   cout << solve(S) << endl;
}

入力

"RUURU"

出力

3

  1. C ++で文字列の長さを見つけるための5つの異なる方法?

    ここでは、C++で文字列の長さを取得する5つの異なる方法を示します。 C ++では、従来の文字配列文字列を使用できます。C++にはStringクラスもあります。さまざまな領域で、文字列の長さを計算するさまざまな方法があります。 C ++ Stringクラスには、length()およびsize()関数があります。これらは、文字列型オブジェクトの長さを取得するために使用できます。文字列のような従来のCの長さを取得するには、strlen()関数を使用できます。これはcstringの下にあります ヘッダーファイル。別の2つのアプローチは簡単です。 1つはwhileループを使用する方法で、もう1つはf

  2. 文字列の長さを見つけるC++プログラム

    文字列は、ヌル文字で終了する1次元の文字配列です。文字列の長さは、ヌル文字の前の文字列の文字数です。 たとえば。 char str[] = “The sky is blue”; Number of characters in the above string = 15 文字列の長さを見つけるプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() {    char str[] = "Apple";    int co