Kadang-kadang terjadi bahwa ketika mengetik kalimat, saya terganggu dan saya akhirnya mengetik pasangan kata yang sama dua kali pasangan kata dua kali berturut-turut.
Untuk memastikan make yakin orang lain tidak terganggu oleh ini, tugas Anda adalah untuk menulis sebuah program yang menyelesaikan masalah ini!
Tugas
Diberikan string input (jika itu penting untuk bahasa Anda, Anda dapat mengasumsikan input ASCII saja yang tidak mengandung linefeeds.) str
, Yang mengandung suatu substring di suatu tempat di tengahnya yang terjadi dua kali berturut-turut segera, kembalikan string dengan satu contoh dari ini substring dihapus.
Dalam hal beberapa kemungkinan, kembalikan jawaban sesingkat mungkin (yaitu, pilih substring berulang berurutan dan hapus yang itu).
Dalam hal beberapa substring berulang yang sama-sama panjang, hapus substring pertama (yaitu, yang pertama ditemukan saat membaca string dari depan ke belakang).
Anda dapat mengasumsikan bahwa inputnya benar (yaitu selalu berisi substring berulang berurutan), yang dapat membantu menurunkannya.
Contohnya
- Input:
hello hello world
-> Output:hello world
. - Input:
foofoo
-> Output:foo
. (Jadi: Ya, string hanya terdiri dari bagian berulang dua kali). - Input:
aaaaa
-> Output:,aaa
karena substring berulang berulang terpanjang ada di siniaa
. - Input:
Slartibartfast
-> Ini bukan input yang valid, karena tidak mengandung substring berulang berturut-turut, sehingga Anda tidak perlu menangani kasus ini. - Input:
the few the bar
-> Ini adalah input lain yang tidak valid, karena bagian berulang harus segera mengikuti bagian asli. Dalam hal ini,the
danthe
dipisahkan oleh sesuatu yang lain di antara keduanya, maka input ini tidak valid. - Input:
ababcbc
-> Output:abcbc
. Dua substring berulang berulang terpanjang yang mungkin adalahab
danbc
. Sepertiab
yang ditemukan sebelumnya dalam string, ini adalah jawaban yang benar. - Input:
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo
. Output:Buffalo buffalo buffalo buffalo Buffalo buffalo
. (Penggantian yang dilakukan harus peka terhadap huruf besar-kecil). - Input:
Sometimes it happens that while typing a sentence, I am distracted and I end up typing the same couple of words twice couple of words twice in succession.
-> Output:Sometimes it happens that while typing a sentence, I am distracted and I end up typing the same couple of words twice in succession.
. Hanya substring berulang berulang terpanjang yang dihapus.
Kode Anda harus sesingkat mungkin, karena ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang. Semoga berhasil!
p
dihappens
Sometimes it happens that while typing a sentence, I am distracted and I end up typing the same couple of words twice couple of words twice in succession.
sebagai input, hasilnya harusSometimes it happens that while typing a sentence, I am distracted and I end up typing the same couple of words twice in succession.
. Hanya duplikasi yang paling lama ditemukan yang dihapus.