길이가 같은 두 개의 소문자 문자열 s와 t가 있다고 가정합니다. 우리는 s에서 한 문자를 선택하고 t에서 다른 문자를 선택하고 바꿀 수 있습니다. 원하는 횟수만큼 이 작업을 수행할 수 있습니다. 마지막으로 두 문자열을 동일하게 만들 수 있는지 여부를 확인해야 합니다.
따라서 입력이 s ="abcd" t ="cdab"과 같으면 출력은 True
가 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- fre :=s와 t의 연결된 문자열에 존재하는 각 요소의 빈도를 포함하는 목록
- fre, do
- 의 모든 값 목록에 있는 각 cnt에 대해
- cnt mod 2가 1이면
- 거짓을 반환
- 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