Menu
CoddyTech

Nhóm từ đảo chữ

Thuộc phần Logic và luồng thực thi trong hành trình Swift của Coddy. Bài học 54 trên 56.

challenge icon

Thử thách

Trung bình

Hai từ là hoán vị chữ cái của nhau nếu các chữ cái sau khi sắp xếp giống nhau: listen và silent đều được sắp xếp thành eilnst.

Đọc một dòng đầu vào: danh sách các từ được phân tách bằng dấu phẩy (viết thường, không có khoảng trắng bên trong từ).

Nhóm các từ theo chữ ký tạo thành từ các chữ cái đã sắp xếp. In ra theo thứ tự này:

  1. Mỗi nhóm có hai từ trở lên trên một dòng, theo định dạng <signature>: <word1>,<word2>,.... Trong mỗi nhóm, giữ nguyên thứ tự từ trong đầu vào. Sắp xếp các nhóm theo thứ tự bảng chữ cái dựa trên chữ ký.
  2. Total groups: <n> (số nhóm có hai từ trở lên).

Với đầu vào listen,silent,abc,enlist,cab,xyz, đầu ra là:

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

Tự làm thử

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

// TODO: tạo [signature: [word]]; in ra các nhóm đã sắp xếp có kích thước >= 2;
// sau đó in ra 'Total groups: <n>'

Tất cả bài học trong Logic và luồng thực thi

Tự luyện tập: Playground Swift