Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra xem chuỗi có thể chuyển đổi thành chuỗi khác bằng cách thay thế nguyên âm và phụ âm trong Python


Giả sử chúng ta có hai chuỗi s và t. Chỉ được phép thay đổi ký tự tại vị trí bất kỳ thành nguyên âm nếu nó đã là nguyên âm, hoặc thành phụ âm nếu nó đã là phụ âm. Cần kiểm tra xem s có thể biến đổi thành t hay ngược lại.

Ví dụ, s = "udpgma", t = "itmmve", đầu ra True vì u->i (nguyên âm), d->t (phụ âm), p->m (phụ âm), a->e (nguyên âm).

Các bước giải quyết:

  • s_size := độ dài s.
  • Nếu s_size != độ dài t, trả về False.
  • Duyệt i từ 0 đến s_size-1:
    • Nếu s[i] và t[i] đều là nguyên âm, tiếp tục.
    • Ngược lại nếu cả hai đều không phải nguyên âm, tiếp tục.
    • Ngược lại, trả về False.
  • Trả về True.

Xem ví dụ dưới đây để hiểu rõ hơn:

Ví dụ

def isVowel(x):
    return x in ['a', 'e', 'i', 'o', 'u']

def solve(s, t):
    s_size = len(s)
    if s_size != len(t):
        return False
    for i in range(s_size):
        if isVowel(s[i]) and isVowel(t[i]):
            continue
        elif not isVowel(s[i]) and not isVowel(t[i]):
            continue
        else:
            return False
    return True

s, t = "udpgma", "itmmve"
print(solve(s, t))

Đầu vào

"udpgma", "itmmve"

Đầu ra

True