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

Python에서 문자를 교환하여 두 문자열이 같을 수 있는지 확인하는 프로그램

<시간/>

길이가 같은 두 개의 소문자 문자열 s와 t가 있다고 가정합니다. 우리는 s에서 한 문자를 선택하고 t에서 다른 문자를 선택하고 바꿀 수 있습니다. 원하는 횟수만큼 이 작업을 수행할 수 있습니다. 마지막으로 두 문자열을 동일하게 만들 수 있는지 여부를 확인해야 합니다.

따라서 입력이 s ="abcd" t ="cdab"과 같으면 출력은 True

가 됩니다.

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

  • fre :=s와 t의 연결된 문자열에 존재하는 각 요소의 빈도를 포함하는 목록
  • fre, do
      의 모든 값 목록에 있는 각 cnt에 대해
    • cnt mod 2가 1이면
      • 거짓을 반환
  • 참 반환

예시

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

from collections import Counter
def solve(s, t):
   fre = Counter(s+t)

   for cnt in fre.values():
      if cnt % 2:
         return False

   return True

s = "abcd"
t = "cdab"
print(solve(s, t))

입력

"abcd", "cdab"

출력

True