Menu
CoddyTech

Kelompok Anagram

Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 54 dari 56.

challenge icon

Tantangan

Sedang

Dua kata merupakan anagram jika huruf-hurufnya memiliki urutan yang sama setelah diurutkan: listen dan silent sama-sama menghasilkan eilnst setelah diurutkan.

Baca satu baris input: list kata yang dipisahkan koma (huruf kecil, tanpa spasi di dalam kata).

Kelompokkan kata berdasarkan tanda yang dibentuk oleh huruf-hurufnya setelah diurutkan. Cetak dengan urutan berikut:

  1. Satu baris untuk setiap kelompok yang berisi dua kata atau lebih, dengan format <signature>: <word1>,<word2>,.... Dalam setiap kelompok, pertahankan urutan kata seperti dalam input. Urutkan kelompok secara alfabetis berdasarkan signature.
  2. Total groups: <n> (jumlah kelompok yang berisi dua kata atau lebih).

Untuk input listen,silent,abc,enlist,cab,xyz, output-nya adalah:

abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2

Coba sendiri

let words = readLine()!.components(separatedBy: ",")

// TODO: buat [signature: [word]]; cetak kelompok berukuran >= 2 yang sudah diurutkan;
// lalu cetak 'Total groups: <n>'

Semua pelajaran di Logika dan Alur

Latihan sendiri: Playground Swift