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

Pythonで左端または右端の位置に到達できるかどうかを確認するプログラム


R、B、およびdot(。)の3つのタイプの文字を含む文字列があるとします。ここで、Rは現在の位置を表し、Bはブロックされた位置を表し、dot(。)は空の位置を表します。これで、有効(空)である限り、現在の位置に隣接する任意の位置に1つのステップで移動できます。 )。左端または右端のどちらかに到達できるかどうかを確認する必要があります。

したがって、入力がs ="........... R ..... BBBB ....."の場合、Rは左端の位置に到達できるため、出力はTrueになります。ブロックはありません。

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

  • r_pos:=sの「R」のインデックス
  • 「B」がs[インデックス0からr_pos-1]に存在しない場合、または「B」がs[インデックスr_posから終了]に存在しない場合にTrueを返します

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

class Solution:
   def solve(self, s):
      r_pos = s.find('R')
   return not 'B' in s[:r_pos] or not 'B' in s[r_pos:]
ob = Solution()
s = "...........R.....BBBB....."
print(ob.solve(s))

入力

"...........R.....BBBB....."

出力

True

  1. Pythonでロボットが目標位置に到達できるかどうかをチェックするプログラム

    現在、位置(0、0)(デカルト平面)に座っているロボットがあるとします。 N(北)、S(南)、W(西)、およびE(東)を含む、実行可能な移動のリストがある場合。宛先座標(x、y)に到達できるかどうかを確認する必要があります。 したがって、入力がmoves =[N、N、E、E、S]、(x、y)=(2,1)のような場合、出力はTrueになります。 これを解決するには、次の手順に従います- temp_coord:=[0,0] 移動の移動ごとに、 移動が「N」と同じ場合、 temp_coord [1]:=temp_coord [1] + 1 それ以外の場合、移動が「S」と同じ

  2. 文字列が回文であるかどうかをチェックするPythonプログラム

    文字列が与えられた場合、私たちのタスクは、この文字列が回文であるかどうかを確認することです。 アルゴリズム Step1: Enter string as an input. Step2: Using string slicing we reverse the string and compare it back to the original string. Step3: Then display the result. サンプルコード my_string=input("Enter string:") if(my_string==my_string[::-1]): &nbs