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

Python에서 문자를 교환하여 동일한 길이의 두 문자열을 같게 하는 프로그램

<시간/>

길이가 n인 두 개의 문자열 s와 t가 있다고 가정합니다. s에서 한 문자를 가져오고 t에서 다른 문자를 가져와서 바꿀 수 있습니다. 우리는 무제한 스왑을 할 수 있습니다. 두 문자열을 동일하게 만드는 것이 가능한지 여부를 확인해야 합니다.

따라서 입력이 s ="xy", t ="yx"와 같으면 출력은 True

가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • st:=s와 t를 연결한 후 문자열 정렬
  • 범위 0에서 st - 1 크기의 i에 대해 2만큼 증가, do
    • st[i]가 st[i+1]과 같지 않으면
      • 거짓을 반환
  • 참 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:
   def solve(self, s, t):
      st=sorted(s+t)
      for i in range(0,len(st),2):
         if st[i]!=st[i+1]:
            return False
      return True
ob = Solution()
print(ob.solve("xy", "yx"))

입력

"xy", "yx"

출력

True