Membandingkan jika dua string teks adalah anagram adalah tugas pemecahan masalah yang bagus untuk meningkatkan keterampilan pemrograman.
Anagram adalah string yang dibentuk dengan mengatur ulang huruf dari string yang berbeda. Memeriksa apakah dua string adalah anagram satu sama lain mungkin terdengar sulit, tetapi ini hanya sedikit rumit dan menipu secara langsung. Dalam artikel ini, Anda akan mempelajari cara memeriksa apakah dua string adalah anagram satu sama lain menggunakan C++, Python, dan JavaScript.
Pernyataan masalah
Anda diberi dua string s1 dan s2, Anda perlu memeriksa apakah kedua string adalah anagram satu sama lain atau tidak.
Contoh 1: Misalkan s1 = "kreatif" dan s2 = "reaktif".
Karena string kedua dapat dibentuk dengan mengatur ulang huruf dari string pertama dan sebaliknya, maka kedua string adalah anagram satu sama lain.
Contoh 2: Misalkan s1 = "Peter Piper memetik sekeping acar paprika" dan s2 = "A sekeping acar paprika yang dipetik Peter Piper".
Karena string kedua tidak dapat dibentuk dengan mengatur ulang huruf dari string pertama dan sebaliknya, maka kedua string tidak anagram satu sama lain.
Proses Untuk Memeriksa apakah Dua String Adalah Anagram Satu Sama Lain
Anda dapat mengikuti pendekatan di bawah ini untuk memeriksa apakah kedua string adalah anagram satu sama lain:
- Bandingkan panjang kedua senar.
- Jika panjang kedua string tidak sama, itu berarti mereka tidak dapat menjadi anagram satu sama lain. Jadi, kembalikan false.
- Jika panjang kedua senar sama, lanjutkan lebih jauh.
- Urutkan kedua string.
- Bandingkan kedua string yang diurutkan.
- Jika kedua string yang diurutkan sama, itu berarti mereka adalah anagram satu sama lain. Jadi, kembalikan benar.
- Jika kedua string yang diurutkan berbeda, itu berarti mereka bukan anagram satu sama lain. Jadi, kembalikan false.
Terkait: Cara Memeriksa apakah String Adalah Palindrome
Program C++ untuk Memeriksa Apakah Dua String Adalah Anagram Satu Sama Lain
Di bawah ini adalah program C++ untuk memeriksa apakah dua string adalah anagram satu sama lain atau tidak:
#termasuk
menggunakan namespace std;
bool checkAnagrams (string s1, string s2)
{
int ukuran1 = s1.panjang();
int ukuran2 = s2.panjang();
// Jika panjang kedua string tidak sama,
// artinya mereka tidak bisa menjadi anagram satu sama lain.
// Jadi, kembalikan false.
jika (ukuran1 != ukuran2)
{
kembali salah;
}
urutkan (s1.begin(), s1.end());
sort (s2.begin(), s2.end());
untuk (int i = 0; saya < ukuran1; saya++)
{
jika (s1[i] != s2[i])
{
kembali salah;
}
}
kembali benar;
}
int utama()
{
string s1 = "dengarkan";
string s2 = "diam";
cout << "String 1: " << s1 << endl;
cout << "String 2: " << s2 << endl;
if (periksa Anagram (s1, s2))
{
cout << "Ya, dua string adalah anagram satu sama lain" << endl;
}
lain
{
cout << "Tidak, kedua string tersebut bukan merupakan anagram satu sama lain" << endl;
}
string s3 = "Selamat datang di MUO";
string s4 = "MUO untuk Menyambut";
cout << "String 3: " << s3 << endl;
cout << "String 4: " << s4 << endl;
if (periksa Anagram (s3, s4))
{
cout << "Ya, dua string adalah anagram satu sama lain" << endl;
}
lain
{
cout << "Tidak, kedua string tersebut bukan merupakan anagram satu sama lain" << endl;
}
string s5 = "Peter Piper memetik sesendok acar paprika";
string s6 = "Satu kecupan acar paprika yang dipetik Peter Piper";
cout << "String 5: " << s5 << endl;
cout << "String 6: " << s6 << endl;
if (periksa Anagram (s5, s6))
{
cout << "Ya, dua string adalah anagram satu sama lain" << endl;
}
lain
{
cout << "Tidak, kedua string tersebut bukan merupakan anagram satu sama lain" << endl;
}
string s7 = "Dia menjual kerang di tepi pantai";
string s8 = "kerang di tepi pantai";
cout << "String 7: " << s7 << endl;
cout << "String 8: " << s8 << endl;
if (periksa Anagram (s7, s8))
{
cout << "Ya, dua string adalah anagram satu sama lain" << endl;
}
lain
{
cout << "Tidak, kedua string tersebut bukan merupakan anagram satu sama lain" << endl;
}
string s9 = "kreatif";
string s10 = "reaktif";
cout << "String 9: " << s9 << endl;
cout << "String 10: " << s10 << endl;
if (periksa Anagram (s9, s10))
{
cout << "Ya, dua string adalah anagram satu sama lain" << endl;
}
lain
{
cout << "Tidak, kedua string tersebut bukan merupakan anagram satu sama lain" << endl;
}
kembali 0;
}
Keluaran:
String 1: dengarkan
String 2: diam
Ya, kedua string adalah anagram satu sama lain
String 3: Selamat datang di MUO
String 4: MUO untuk Menyambut
Ya, kedua string adalah anagram satu sama lain
String 5: Peter Piper memetik sesendok acar paprika
String 6: Sepotong paprika yang dipetik Peter Piper
Tidak, kedua string itu bukan anagram satu sama lain
String 7: Dia menjual kerang di tepi pantai
String 8: kerang di tepi pantai
Tidak, kedua string itu bukan anagram satu sama lain
String 9: kreatif
String 10: reaktif
Ya, kedua string adalah anagram satu sama lain
Terkait: Cara Menghitung Kemunculan Karakter yang Diberikan dalam sebuah String
Program Python untuk Memeriksa Apakah Dua String Adalah Anagram Satu Sama Lain
Di bawah ini adalah program Python untuk memeriksa apakah dua string adalah anagram satu sama lain atau tidak:
def checkAnagram (s1, s2):
ukuran1 = len (s1)
ukuran2 = len (s2)
# Jika panjang kedua senar tidak sama,
# itu berarti mereka tidak bisa menjadi anagram satu sama lain.
# Jadi, kembalikan false.
jika ukuran1 != ukuran2:
kembali 0
s1 = diurutkan (s1)
s2 = diurutkan (s2)
untuk i dalam rentang (0, size1):
jika s1[i] != s2[i]:
kembali Salah
kembali Benar
s1 = "dengarkan"
s2 = "diam"
print("Baris 1: ", s1)
print("Baris 2:", s2)
if (periksa Anagram (s1, s2)):
print("Ya, kedua string adalah anagram satu sama lain")
lain:
print("Tidak, kedua string bukan anagram satu sama lain")
s3 = "Selamat datang di MUO"
s4 = "MUO untuk Menyambut"
print("String 3: ", s3)
print("String 4", s4)
if (centangAnagrams (s3, s4)):
print("Ya, kedua string adalah anagram satu sama lain")
lain:
print("Tidak, kedua string bukan anagram satu sama lain")
s5 = "Peter Piper memetik sesendok acar paprika"
s6 = "Satu kecupan acar paprika yang dipetik Peter Piper"
print("Baris 5:", s5)
print("String 6:", s6)
jika (periksa Anagram (s5, s6)):
print("Ya, kedua string adalah anagram satu sama lain")
lain:
print("Tidak, kedua string bukan anagram satu sama lain")
s7 = "Dia menjual kerang di tepi pantai"
s8 = "kerang di tepi pantai"
print("Baris 7", s7)
print("String 8:", s8)
if (checkAnagrams (s7, s8)):
print("Ya, kedua string adalah anagram satu sama lain")
lain:
print("Tidak, kedua string bukan anagram satu sama lain")
s9 = "kreatif"
s10 = "reaktif"
print("String 9:", s9)
print("String 10:", s10)
jika (periksa Anagram (s9, s10)):
print("Ya, kedua string adalah anagram satu sama lain")
lain:
print("Tidak, kedua string bukan anagram satu sama lain")
Keluaran:
String 1: dengarkan
String 2: diam
Ya, kedua string adalah anagram satu sama lain
String 3: Selamat datang di MUO
String 4: MUO untuk Menyambut
Ya, kedua string adalah anagram satu sama lain
String 5: Peter Piper memetik sesendok acar paprika
String 6: Sepotong paprika yang dipetik Peter Piper
Tidak, kedua string itu bukan anagram satu sama lain
String 7: Dia menjual kerang di tepi pantai
String 8: kerang di tepi pantai
Tidak, kedua string itu bukan anagram satu sama lain
String 9: kreatif
String 10: reaktif
Ya, kedua string adalah anagram satu sama lain
Terkait: Cara Menemukan Vokal, Konsonan, Digit, dan Karakter Khusus dalam String
Periksa Apakah Dua String Adalah Anagram Satu Sama Lain dalam JavaScript
Di bawah ini adalah program JavaScript untuk memeriksa apakah dua string adalah anagram satu sama lain atau tidak:
fungsi checkAnagrams (s1, s2) {
misalkan size1 = s1.length;
misalkan size2 = s2.length;
// Jika panjang kedua string tidak sama,
// artinya mereka tidak bisa menjadi anagram satu sama lain.
// Jadi, kembalikan false.
jika (ukuran1 != ukuran2)
{
kembali salah;
}
s1.sort();
s2.sort();
untuk (misalkan i = 0; saya < ukuran1; saya++)
{
jika (s1[i] != s2[i])
{
kembali salah;
}
}
kembali benar;
}
var s1 = "dengarkan";
var s2 = "diam";
document.write("String 1: " + s1 + "
");
document.write("String 2: " + s2 + "
");
if (periksa Anagram (s1.split(""), s2.split(""))) {
document.write("Ya, kedua string adalah anagram satu sama lain" + "
");
} lain {
document.write("Tidak, kedua string bukan anagram satu sama lain" + "
");
}
var s3 = "Selamat datang di MUO";
var s4 = "MUO untuk Menyambut";
document.write("String 3: " + s3 + "
");
document.write("String 4: " + s4 + "
");
if (periksa Anagram (s3.split(""), s4.split(""))) {
document.write("Ya, kedua string adalah anagram satu sama lain" + "
");
} lain {
document.write("Tidak, kedua string bukan anagram satu sama lain" + "
");
}
var s5 = "Peter Piper memetik sesendok acar paprika";
var s6 = "Satu kecupan acar paprika yang dipetik Peter Piper";
document.write("String 5: " + s5 + "
");
document.write("String 6: " + s6 + "
");
if (periksa Anagram (s5.split(""), s6.split(""))) {
document.write("Ya, kedua string adalah anagram satu sama lain" + "
");
} lain {
document.write("Tidak, kedua string bukan anagram satu sama lain" + "
");
}
var s7 = "Dia menjual kerang di tepi pantai";
var s8 = "kerang di tepi pantai";
document.write("String 7: " + s7 + "
");
document.write("String 8: " + s8 + "
");
if (periksa Anagram (s7.split(""), s8.split(""))) {
document.write("Ya, kedua string adalah anagram satu sama lain" + "
");
} lain {
document.write("Tidak, kedua string bukan anagram satu sama lain" + "
");
}
var s9 = "kreatif";
var s10 = "reaktif";
document.write("String 9: " + s9 + "
");
document.write("String 10: " + s10 + "
");
if (periksa Anagram (s9.split(""), s10.split(""))) {
document.write("Ya, kedua string adalah anagram satu sama lain" + "
");
} lain {
document.write("Tidak, kedua string bukan anagram satu sama lain" + "
");
}
Keluaran:
String 1: dengarkan
String 2: diam
Ya, kedua string adalah anagram satu sama lain
String 3: Selamat datang di MUO
String 4: MUO untuk Menyambut
Ya, kedua string adalah anagram satu sama lain
String 5: Peter Piper memetik sesendok acar paprika
String 6: Sepotong paprika yang dipetik Peter Piper
Tidak, kedua string itu bukan anagram satu sama lain
String 7: Dia menjual kerang di tepi pantai
String 8: kerang di tepi pantai
Tidak, kedua string itu bukan anagram satu sama lain
String 9: kreatif
String 10: reaktif
Ya, kedua string adalah anagram satu sama lain
Terkait: Bagaimana Anda Menemukan Nilai ASCII Karakter?
Gunakan Sumber Daya yang Tepat untuk Belajar Membuat Kode
Jika Anda ingin memperkuat keterampilan pengkodean Anda, penting untuk mempelajari konsep baru dan menghabiskan waktu menggunakannya. Salah satu cara untuk melakukannya adalah dengan aplikasi pemrograman, yang akan membantu Anda mempelajari berbagai konsep pemrograman sambil bersenang-senang pada saat yang bersamaan.
Ingin memoles keterampilan pengkodean Anda? Aplikasi dan situs web ini akan membantu Anda mempelajari pemrograman dengan kecepatan Anda sendiri.
Baca Selanjutnya
- Pemrograman
- JavaScript
- Python
- 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