Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

รหัส Python เพื่อพิมพ์อักขระทั่วไปของสองสตริงตามลำดับตัวอักษร


มีการกำหนดสตริงการป้อนข้อมูลของผู้ใช้สองชุด หน้าที่ของเราคือพิมพ์อักขระทั่วไปทั้งหมดตามลำดับตัวอักษร

ตัวอย่าง

Input:
string1: python
string2: program
Output: op

คำอธิบาย

ตัวอักษรที่ใช้กันระหว่างสองสตริงคือ o (1 ครั้ง), p (1 ครั้ง)

อัลกอริทึม

Step 1: first we take two input string.
Step 2: next we will do to convert these two strings into counter dictionary.
Step 3: Now find common elements between two strings using intersection ( ) property.
Step 4: Resultant will also be a counter dictionary having common elements as keys and their common frequencies as value.
Step 5: Use elements () method of the counter dictionary to expand the list of keys by their frequency number of times.
Step 6: sort list in ascending order to print a resultant string in alphabetical order.
Step 7: join characters without space to produce resultant string.

โค้ดตัวอย่าง

from collections import Counter
def common(str1,str2):
   d1 = Counter(str1)
   d2 = Counter(str2)
   cdict = d1 & d2
   if len(cdict) == 0:
      print -1
   return
   cchars = list(cdict.elements())
   cchars = sorted(cchars)
   print ("Common characters are ::>",''.join(cchars) )
      # Driver program
   if __name__ == "__main__":
      s1 = input("Enter first string")
      s2 = input("Enter second string")
common(s1, s2)

ผลลัพธ์

Enter first string python
Enter second string program
Common characters are ::> op