Tuesday, April 14, 2020

Palindrome

Palindrome
Document

Palindrome

Palindrome ဆိုတာ စကားလုံးတစ်လုံး သို့ စကားစုတစ်စု ကို ရှေ့ကနေပဲဖတ်ဖတ် နောက်ကနေပဲဖတ်ဖတ် တူနေချင်းကိုဆိုလိုတာပါ ။ ဥပမာ ‘မင်းတုန်းမင်’,’၂၀၀၂’,’madam’ palindrome ကို javascript နဲ့ အောက်ပါအတိုင်း စမ်းသပ်ရေးကြည့်လို့ရပါတယ်။
Just an example 

//get example string
let getstring = "madam"; //try 'face'
 
//convert string to array by using split method
let Arr = getstring.split("");
 
//reverse the result array
let reverseArr = Arr.reverse();
 
//convert array to string back by using toString method
let ArrtoString = reverseArr.toString();
 
//using reg[ex] to remove ',' from the string by using  replace method
let result = ArrtoString.replace(/\,/gm,'');
 
//checking string is palindrome or not
if(result==getstring)
    console.log("The String is Palindrome");
else    
    console.log(result);

    
အရင်ဆုံး getstring ဆိုတဲ့ variable string ထဲမှာ “face” ဆိုတဲ့ string လေးထားပါမည်။ string ကို array ပြောင်းဖို့အတွက် split() method ကိုသုံးတယ်။ split() ကိုသုံးလိုက်ရင် string ထဲမှာ ရှိတဲ့ letter တစ်လုံးချင်းစီကို ‘,’ တွေနဲ့ဖြတ်ထုတ်ပြီး array ပြောင်းပေးပါတယ် ။ ဥပမာ
face to [f,a,c,e]  
    
palindrome ဖြစ်မဖြစ်စမ်းသပ်ရန် first step အနေဖြင့် array ကို ပြောင်းပြန်လုပ်ရန် reverse() method ကိုသုံးပါတယ်။
[f,a,c,e] to [e,c,a,f] 
    
Second step အနေဖြင့် ပြောင်းပြန်လုပ်ထားတဲ့ array ကို string ပြန်ပြောင်းဖို့အတွက် toString() method သုံးပြီး string ပြန်ပြောင်းပါတယ်။ သတိပြုစရာအချက်က string ပြန်ပြောင်းတဲ့အခါ ‘,’ တွေကျန်ပါတယ်။ ‘,’တွေကို ပြန်ဖြတ်ထုတ်ဖို့လိုပါတယ်။ ‘,’ တွေကို ပြန်ဖြတ်ထုတ်ဖို့ third step အနေဖြင့် replace() method ကိုသုံးပါတယ် ။ replace() ကိုသုံးတဲ့အခါ parameter နှစ်ခုလိုပါတယ်။ ပထမ parameter က string ထဲက ဘယ်စကားလုံးတွေကို အစားထိုးမှာလဲ ဖြစ်တဲ့ အတွက် ပထမ parameter နေရာမှာ ‘,’ ကိုထည့်ရပါမယ်။ ‘,’ပဲထည့်ရင် သူက ပထမဆုံးတွေ့တဲ့ ‘,’ ကိုပဲ changes လုပ်ပါလိမ့်မယ်။ ဒါကြောင့် string တစ်ခုလုံးမှာ ရှိတဲ့ ‘,’ တွေကို ပြောင်းချင်တဲ့အတွက် regular expression သုံးပါတယ်။ regular expression သုံးပုံကိုနောက် article မှာ အသေးစိတ်ရှင်းပြပါ့မယ် ။ // ထဲမှာ ‘,’ တွေကို ဖြတ်ထုတ်မှာဖြစ်တဲ့အတွက် / \, / လို့ရေးပြီး တစ်ကြောင်းလုံး ပြောင်းမှာ ဖြစ်လို့ regular expression အဆုံးမှာ gm လို့ထည့်ထားတာဖြစ်ပါတယ်။ Tip: g and m က global and multiline flags လို့ဆိုလိုပါတယ်။ ဒုတိယ parameter မှာ အစားထိုးတဲ့ value ကိုရေးရမှာဖြစ်ပါတယ်။ ဘာ value မှအစားထိုးမှာ မဟုတ်တဲ့အတွက် ‘’ လို့ပဲရေးထာပါတယ်။ last step အနေနဲ့ နောက်ဆုံး result string နဲ့ given string နဲ့ကို နှိုင်းယှဉ်ပြီးအဖြေထုတ်ထားတာဖြစ်ပါတယ်။ ပြောင်းပြန်ပြန်လို့ရတဲ့ နောက်ဆုံး string နဲ့ သတ်မှတ်ထားတဲ့ string နဲ့တူခဲ့ရင် “The String is Palindrome” လို့ အဖြေထုတ်မှာဖြစ်ပြီး မတူခဲ့ရင် တော့ result string ကိုပဲပြန်ပေးထာတာဖြစ်ပါတယ်။

2 comments: