Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 가장 왼쪽 또는 오른쪽 위치에 도달할 수 있는지 확인하는 프로그램

<시간/>

R, B 및 점(.)의 세 가지 유형의 문자를 포함하는 문자열이 있다고 가정합니다. 여기서 R은 현재 위치, B는 차단된 위치, 점(.)은 빈 위치를 나타냅니다. 이제 한 단계로 현재 위치에 인접한 위치로 이동할 수 있습니다. ). 가장 왼쪽 위치에 도달할 수 있는지 가장 오른쪽 위치에 도달할 수 있는지 확인해야 합니다.

따라서 입력이 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