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

โปรแกรม Python พิมพ์ตัวอักษรร่วมของสองสตริงเรียง A-Z


หาตัวอักษรร่วมของสองสตริงและเรียงตามลำดับอัลฟาเบต ใช้ Counter และ intersection (&)

ตัวอย่าง

string1: "python"
string2: "program"
Output: "op"

อัลกอริทึม

  1. สร้าง Counter จากทั้งสองสตริง
  2. หา intersection: c1 & c2 (เก็บ min count)
  3. ขยายเป็น list ด้วย elements()
  4. เรียงลำดับและ join

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

from collections import Counter

def common(str1, str2):
    d1 = Counter(str1)
    d2 = Counter(str2)
    cdict = d1 & d2
    if not cdict:
        print(-1)
        return
    chars = sorted(cdict.elements())
    print("Common characters are:", ''.join(chars))

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