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

문자열의 양쪽 절반에 동일한 문자 집합이 있는지 확인하는 Python 프로그램.

<시간/>

문자열이 주어졌을 때 우리의 임무는 문자열의 양쪽 절반에 같은 문자 집합이 있는지 확인하는 것입니다. 이 문제를 해결하기 위해 먼저 문자열을 중간에서 분할하여 두 개의 반쪽을 얻었습니다. 이제 각 반쪽이 동일한 문자 집합을 갖는지 확인합니다. 문자열의 길이가 짝수가 아닌 경우 중간 요소를 무시하고 나머지를 확인하십시오.

알고리즘

Step 1: Given a string.
Step 2: Break the input string into two parts.
Step 3: Then convert both parts into a dictionary using Counter(iterator) method and each dictionary contains its character as key and frequency as value.
Step 4: Now compare these two dictionaries. Here we use == operator. First we checks keys of both dictionaries are same or not,
then checks for values of each key. If both cases are true then two halves have the same set of characters.

예시 코드

from collections import Counter
def checkhalves(input):
   length = len(input)
   if (length % 2 != 0):
      first = input[0:int(length / 2)]
      second = input[(int(length / 2)) + 1:]
   else:
      first = input[0:int(length / 2)]
      second = input[int(length / 2):]
   if Counter(first) == Counter(second):
      print ("Both halves are same")
   else:
      print ("Both halves are not same ")
# Driver program
if __name__ == "__main__":
input = input("Enter The String")
checkhalves(input)

출력

Enter The String abba
Both halves are same