애너그램 그룹
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 54번째.
챌린지
중급두 단어의 정렬된 글자가 일치하면 서로 아나그램(anagram)입니다: listen과 silent는 모두 정렬하면 eilnst가 됩니다.
입력으로 한 줄을 읽습니다: 쉼표로 구분된 단어 목록입니다 (소문자이며, 단어 내부에 공백은 없습니다).
단어들을 정렬된 글자 시그니처(signature)에 따라 그룹화하세요. 다음 순서대로 출력합니다:
- 두 개 이상의 단어가 포함된 그룹당 한 줄씩,
<signature>: <word1>,<word2>,...형식으로 출력합니다. 그룹 내에서 단어는 입력된 순서를 유지합니다. 그룹들은 시그니처를 기준으로 알파벳순으로 정렬하여 출력합니다. 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>'을 출력하세요