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