C++, Python, C, atau JavaScript: apa pun yang Anda gunakan, gunakan algoritme ini untuk menentukan string simetris.
Sebuah string dikatakan simetris jika kedua bagian dari string adalah sama. Dalam artikel ini, Anda akan mempelajari algoritme untuk menentukan apakah string yang diberikan simetris atau tidak. Anda juga akan belajar bagaimana menerapkan algoritme ini dalam bahasa pemrograman paling populer seperti C++, Python, C, dan JavaScript.
Pernyataan masalah
Anda diberi string. Anda perlu menentukan apakah string yang diberikan simetris atau tidak.
Contoh 1: Biarkan str = "abab".
Diberikan adalah simetris karena kedua bagian dari string adalah sama.
Jadi, outputnya adalah "Ya, string yang diberikan simetris".
Contoh 2: Biarkan str = "Nyonya".
Jika panjang string ganjil, karakter tengah string diabaikan. Oleh karena itu, babak pertama = "ma" dan babak kedua = "am". Kedua bagian itu tidak sama.
Dengan demikian, outputnya adalah "Tidak, string yang diberikan tidak simetris".
Contoh 3: Biarkan str = "gila".
babak pertama = "ma" dan babak kedua = "ma". Kedua bagian tali itu sama.
Jadi, outputnya adalah "Ya, string yang diberikan simetris".
Algoritma untuk Menentukan Apakah String yang Diberikan Simetris atau Tidak
Anda dapat menentukan apakah string yang diberikan simetris atau tidak dengan mengikuti pendekatan di bawah ini:
- Cari panjang tali.
- Temukan indeks tengah dari string.
- Jika panjang tali genap, indeks tengah = panjang/2.
- Jika panjang tali ganjil, indeks tengah = (panjang/2) + 1. Dalam hal ini, karakter tengah string diabaikan untuk perbandingan.
- Inisialisasi dua variabel pointer penunjuk1 dan penunjuk2. penunjuk1 akan menyimpan indeks karakter pertama (0) dari string dan penunjuk2 akan menyimpan indeks karakter tengah (midIndex) dari string.
- Sekarang bandingkan karakter yang sesuai dari kedua bagian string menggunakan a ketika lingkaran. Jalankan ketika lingkaran sampai penunjuk1.
- Bandingkan karakter yang sesuai di indeks penunjuk1 dan penunjuk2.
- Jika ada karakter yang sesuai ditemukan berbeda, kembalikan Salah. Dan jika tidak ada karakter yang sesuai yang ditemukan berbeda, kembalikan benar.
- Juga, pastikan untuk menambah nilai penunjuk1 dan penunjuk2 dalam setiap iterasi.
Program C++ untuk Menentukan Apakah String yang Diberikan Simetris atau Tidak
Di bawah ini adalah program C++ untuk menentukan apakah string yang diberikan simetris atau tidak:
// Program C++ untuk memeriksa apakah string simetris atau tidak
#termasuk
menggunakan namespace std;
// Berfungsi untuk memeriksa apakah string simetris atau tidak
bool issimetris (string str)
{
int indeks tengah;
int panjang = str.panjang();
// Jika panjang string genap
jika (panjang % 2 == 0)
{
indeks tengah = panjang/2;
}
// Jika panjang string ganjil
lain
{
indeks tengah = panjang/2 + 1;
}
int penunjuk1 = 0;
int pointer2 = indeks tengah;
sementara (pointer1{
if (str[pointer1] == str[pointer2])
{
penunjuk1 += 1;
penunjuk2 += 1;
}
lain
{
kembali salah;
}
}
kembali benar;
}
// Kode Pengemudi
int utama()
{
// Uji kasus: 1
string str1 = "abab";
cout << "String 1: " << str1 << endl;
jika (issimetris (str1))
{
cout << "Ya, string yang diberikan simetris" << endl;
}
lain
{
cout << "Tidak, string yang diberikan tidak simetris" << endl;
}
// Uji kasus: 2
string str2 = "Nyonya";
cout << "String 2: " << str2 << endl;
jika (issimetris (str2))
{
cout << "Ya, string yang diberikan simetris" << endl;
}
lain
{
cout << "Tidak, string yang diberikan tidak simetris" << endl;
}
// Uji kasus: 3
string str3 = "mama";
cout << "String 3: " << str3 << endl;
jika (issimetris (str3))
{
cout << "Ya, string yang diberikan simetris" << endl;
}
lain
{
cout << "Tidak, string yang diberikan tidak simetris" << endl;
}
// Uji kasus: 4
string str4 = "kewarganegaraan";
cout << "String 4: " << str4 << endl;
jika (issimetris (str4))
{
cout << "Ya, string yang diberikan simetris" << endl;
}
lain
{
cout << "Tidak, string yang diberikan tidak simetris" << endl;
}
// Uji kasus: 5
string str5 = "khokho";
cout << "String 5: " << str5 << endl;
jika (issimetris (str5))
{
cout << "Ya, string yang diberikan simetris" << endl;
}
lain
{
cout << "Tidak, string yang diberikan tidak simetris" << endl;
}
kembali 0;
}
Keluaran:
String 1: abab
Ya, string yang diberikan simetris
String 2: nyonya
Tidak, string yang diberikan tidak simetris
String 3: orang gila
Ya, string yang diberikan simetris
String 4: sipil
Tidak, string yang diberikan tidak simetris
Senar 5: khokho
Ya, string yang diberikan simetris
Terkait: Cara Membalikkan String di C++, Python, dan JavaScript
Program Python untuk Menentukan Apakah String yang Diberikan Simetris atau Tidak
Di bawah ini adalah program Python untuk menentukan apakah string yang diberikan simetris atau tidak:
# Program Python untuk memeriksa apakah string simetris atau tidak
# Berfungsi untuk memeriksa apakah string simetris atau tidak
def issimetris (str):
indeks tengah = 0
panjang = len (str)
jika panjang%2 == 0:
indeks tengah = panjang//2
lain:
indeks tengah = panjang//2 + 1
penunjuk1 = 0
pointer2 = indeks tengah
sementara pointer1if (str[pointer1] == str[pointer2]):
penunjuk1 += 1
penunjuk2 += 1
lain:
kembali Salah
kembali Benar
# Kasus uji: 1
str1 = "abab"
print("String 1", str1)
jika (issimetris (str1)):
print("Ya, string yang diberikan simetris")
lain:
print("Tidak, string yang diberikan tidak simetris")
# Kasus uji: 2
str2 = "Nyonya"
print("String 2", str2)
jika (isSymetrical (str2)):
print("Ya, string yang diberikan simetris")
lain:
print("Tidak, string yang diberikan tidak simetris")
# Kasus uji: 3
str3 = "orang gila"
print("String 3", str3)
jika (isSymetrical (str3)):
print("Ya, string yang diberikan simetris")
lain:
print("Tidak, string yang diberikan tidak simetris")
# Kasus uji: 4
str4 = "kewarganegaraan"
print("String 4", str4)
jika (isSymetrical (str4)):
print("Ya, string yang diberikan simetris")
lain:
print("Tidak, string yang diberikan tidak simetris")
# Kasus uji: 5
str5 = "khoho"
print("String 5", str5)
jika (isSymetrical (str5)):
print("Ya, string yang diberikan simetris")
lain:
print("Tidak, string yang diberikan tidak simetris")
Keluaran:
String 1: abab
Ya, string yang diberikan simetris
String 2: nyonya
Tidak, string yang diberikan tidak simetris
String 3: orang gila
Ya, string yang diberikan simetris
String 4: sipil
Tidak, string yang diberikan tidak simetris
Senar 5: khokho
Ya, string yang diberikan simetris
Terkait: Belajar Python? Inilah Cara Memanipulasi String
Program JavaScript untuk Menentukan Apakah String yang Diberikan Simetris atau Tidak
Di bawah ini adalah program JavaScript untuk menentukan apakah string yang diberikan simetris atau tidak:
// Program JavaScript untuk memeriksa apakah string simetris atau tidak
// Berfungsi untuk memeriksa apakah string simetris atau tidak
fungsi issimetris (str) {
var indeks tengah;
var panjang = str.panjang;
// Jika panjang string genap
if (panjang % 2 == 0) {
midIndex = Math.floor (panjang/2);
}
// Jika panjang string ganjil
lain {
midIndex = Math.floor (panjang/2) + 1;
}
var pointer1 = 0;
var pointer2 = indeks tengah;
sementara (pointer1if (str[pointer1] == str[pointer2]) {
penunjuk1 += 1;
penunjuk2 += 1;
} lain {
kembali salah;
}
}
kembali benar;
}
// Uji kasus: 1
var str1 = "abab";
document.write("String 1: " + str1 + "
");
if (isSymetrical (str1)) {
document.write("Ya, string yang diberikan simetris" + "
");
} lain {
document.write("Tidak, string yang diberikan tidak simetris" + "
");
}
// Uji kasus: 2
var str2 = "Nyonya";
document.write("String 2: " + str2 + "
");
if (issimetris (str2)) {
document.write("Ya, string yang diberikan simetris" + "
");
} lain {
document.write("Tidak, string yang diberikan tidak simetris" + "
");
}
// Uji kasus: 3
var str3 = "orang gila";
document.write("String 3: " + str3 + "
");
if (isSymetrical (str3)) {
document.write("Ya, string yang diberikan simetris" + "
");
} lain {
document.write("Tidak, string yang diberikan tidak simetris" + "
");
}
// Uji kasus: 4
var str4 = "kewarganegaraan";
document.write("String 4: " + str4 + "
");
if (issimetris (str4)) {
document.write("Ya, string yang diberikan simetris" + "
");
} lain {
document.write("Tidak, string yang diberikan tidak simetris" + "
");
}
// Uji kasus: 5
var str5 = "khokho";
document.write("String 5: " + str5 + "
");
if (isSymetrical (str5)) {
document.write("Ya, string yang diberikan simetris" + "
");
} lain {
document.write("Tidak, string yang diberikan tidak simetris" + "
");
}
Keluaran:
String 1: abab
Ya, string yang diberikan simetris
String 2: nyonya
Tidak, string yang diberikan tidak simetris
String 3: orang gila
Ya, string yang diberikan simetris
String 4: sipil
Tidak, string yang diberikan tidak simetris
Senar 5: khokho
Ya, string yang diberikan simetris
Terkait: Cara Menemukan Karakter yang Paling Sering Muncul dalam sebuah String
Memecahkan Masalah Berdasarkan String
String adalah salah satu topik terpenting untuk wawancara pemrograman. Anda harus menyelesaikan beberapa masalah pemrograman terkenal berdasarkan string seperti memeriksa apakah string adalah palindrom, periksa jika dua string adalah anagram satu sama lain, temukan karakter yang paling sering muncul dalam sebuah string, balikkan string, dll. jika Anda ingin benar-benar siap.
Apakah string Anda palindrom? Apakah Anda menggunakan Python, C++, atau JavaScript, gunakan salah satu dari algoritma ini untuk mencari tahu.
Baca Selanjutnya
- Pemrograman
- JavaScript
- Python
- Tutorial Pengkodean
- Pemrograman C

Yuvraj adalah mahasiswa sarjana Ilmu Komputer di University of Delhi, India. Dia bersemangat tentang Pengembangan Web Full Stack. Ketika dia tidak menulis, dia menjelajahi kedalaman teknologi yang berbeda.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan