Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में जांचें कि दो स्ट्रिंग्स का संयोजन संतुलित है या नहीं


मान लीजिए हमारे पास दो ब्रैकेट अनुक्रम s और t हैं जिनमें केवल '(' और ')' वर्ण हैं। हमें जांचना है कि s और t की संयोजित स्ट्रिंग संतुलित है या नहीं। संयोजन s + t या t + s से किया जा सकता है।

उदाहरण के लिए, यदि s = "()()))", t = "()(()(" है, तो आउटपुट True होगा क्योंकि यदि हम t + s जोड़ते हैं, तो हमें "()(()(()()))" मिलता है जो संतुलित है।

हल करने का तरीका

  1. is_balanced_parenthesis() फ़ंक्शन परिभाषित करें जो स्ट्रिंग लेता है
  2. stack := एक नई सूची
  3. स्ट्रिंग के प्रत्येक वर्ण के लिए:
    • यदि वर्ण '(' है, तो स्टैक में push करें
    • अन्यथा, यदि स्टैक खाली है तो False लौटाएं, अन्यथा स्टैक से pop करें
  4. यदि स्टैक खाली नहीं है, तो False लौटाएं
  5. True लौटाएं
  6. मुख्य विधि से: यदि is_balanced_parenthesis(s + t) True है तो True लौटाएं, अन्यथा is_balanced_parenthesis(t + s) लौटाएं

उदाहरण

def is_balanced_parenthesis(string):
    stack = []
    for i in range(len(string)):
        if string[i] == '(':
            stack.append(string[i])
        else:
            if len(stack) == 0:
                return False
            else:
                stack.pop()
    if len(stack) > 0:
        return False
    return True

def solve(s, t):
    if is_balanced_parenthesis(s + t):
        return True
    return is_balanced_parenthesis(t + s)

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

इनपुट

"()()))", "()(()("

आउटपुट

True
  1. - पायथन में दो स्ट्रिंग्स में कॉमन शब्द

    समस्या विवरण दो स्ट्रिंग्स s0 और s1 दी गई हैं जो वाक्यों को दर्शाती हैं। हमें इन दोनों वाक्यों के बीच साझा यूनिक शब्दों की संख्या ज्ञात करनी है। शब्द केस-इनसेंसिटिव हैं (जैसे tom और ToM समान हैं)। उदाहरण इनपुट: s0 = i love python coding, s1 = coding in python is easy आउटपुट: 2 (कॉमन शब्द: python, c

  1. - पायथन में अकिलीज़ नंबर की जांच

    समस्या विवरण एक संख्या n दी गई है, जांचें कि क्या यह अकिलीज़ नंबर है। अकिलीज़ नंबर = शक्तिशाली संख्या (हर अभाज्य गुणक p के लिए, p² भी विभाजित करता है) लेकिन पूर्ण घात नहीं (a^b रूप में नहीं)। उदाहरण इनपुट: 108 आउटपुट: True 108 = 2² × 3³ — दोनों अभाज्य गुणकों के वर्ग विभाजित करते हैं, लेकिन 108 पूर्

  1. - पायथन में जांचें कि सूची क्रमबद्ध है या नहीं

    सूचियाँ पायथन में सबसे अधिक उपयोग किए जाने वाले डेटा संग्रह हैं। ऐसी स्थिति आ सकती है जब हमें यह जानने की आवश्यकता हो कि दी गई सूची पहले से क्रमबद्ध है या नहीं। इस लेख में हम इसे प्राप्त करने के दृष्टिकोण देखेंगे। sort के साथ हम दी गई सूची की एक प्रति लेते हैं, उस पर sort फंक्शन लागू करते हैं और उस