Menu
Coddy logo textTech

애너그램 그룹

Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 54번째.

challenge icon

챌린지

중급

두 단어의 정렬된 글자가 일치하면 서로 아나그램(anagram)입니다: listensilent는 모두 정렬하면 eilnst가 됩니다.

입력으로 한 줄을 읽습니다: 쉼표로 구분된 단어 목록입니다 (소문자이며, 단어 내부에 공백은 없습니다).

단어들을 정렬된 글자 시그니처(signature)에 따라 그룹화하세요. 다음 순서대로 출력합니다:

  1. 두 개 이상의 단어가 포함된 그룹당 한 줄씩, <signature>: <word1>,<word2>,... 형식으로 출력합니다. 그룹 내에서 단어는 입력된 순서를 유지합니다. 그룹들은 시그니처를 기준으로 알파벳순으로 정렬하여 출력합니다.
  2. Total groups: <n> (두 개 이상의 단어를 가진 그룹의 총 개수).

입력 listen,silent,abc,enlist,cab,xyz에 대한 출력은 다음과 같습니다:

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

직접 해보기

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

// TODO: [signature: [word]]를 구축하고, 크기가 2 이상인 정렬된 그룹을 출력하세요;
// 그 다음 'Total groups: <n>'을 출력하세요

로직 및 흐름의 모든 레슨