मान लीजिए कि हमारे पास केवल लोअरकेस या अपरकेस अक्षरों के साथ एक स्ट्रिंग है, न कि संख्याएं। हमें यह जांचना है कि लोअरकेस और अपरकेस दोनों अक्षर क्रमशः एक ही क्रम का पालन करते हैं या नहीं। इसलिए, यदि कोई अक्षर लोअरकेस में एक से अधिक बार आता है तो अपरकेस में एक ही वर्ण की घटना समान होगी।
इसलिए, यदि इनपुट s ="piPpIePE" जैसा है, तो आउटपुट सही होगा, क्योंकि लोअरकेस अक्षरों और अपरकेस अक्षरों की घटनाएं समान हैं, और वे लोअरकेस और अपरकेस में भी उसी क्रम में हैं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- लोअरकेस:=ब्लैंक स्ट्रिंग, अपरकेस:=ब्लैंक स्ट्रिंग
- i के लिए 0 से लेकर s-1 के आकार तक के लिए
- यदि s[i] अपरकेस अक्षर है, तो
- अपरकेस :=अपरकेस कॉन्टेनेट एस[i]
- अन्यथा,
- लोअरकेस :=लोअरकेस कॉन्टेनेट एस[i]
- यदि s[i] अपरकेस अक्षर है, तो
- to_upper :=लोअरकेस को अपरकेस में बदलें
- सही लौटें जब to_upper अपरकेस के समान हो अन्यथा असत्य
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(s) : lowercase = "" uppercase = "" for i in range(len(s)) : if ord(s[i]) >= 65 and ord(s[i]) <= 91 : uppercase += s[i] else : lowercase += s[i] to_upper = lowercase.upper() return to_upper == uppercase s = "piPpIePE" print(solve(s))
इनपुट
"piPpIePE"
आउटपुट
True