연습문제 12-2
애너그램 한 번 더!
1. 파일에서 단어 목록을 읽어 들여서 애너그램 단어 집합을 모두 출력하는 프로그램을 작성하라(152쪽의 9.1 단어 목록 읽어 들이기 참조).
다음과 같은 형태로 출력해야 한다.
['deltas', 'desalt', 'lasted', 'salted', 'slated', 'staled']
['retainers', 'ternaries']
['generating', 'greatening']
['resmelts', 'smelters', 'termless']
힌트: 문자 컬렉션과 이들 문자로 만들 수 있는 단어 목록을 연결하는 사전을 만들 수도 있다. 문제는 키로 사용될 수 있는 문자 컬렉션을 어떤 방법으로 표현하는지다.
2. 가장 길이가 긴 애너그램을 먼저 출력하고, 그다음으로 긴 애너그램을 출력하는 식으로 이전 프로그램을 수정하라.
3. 스크래블에서는 보드 위에 있는 글자 하나에 이어서 자신의 랙에 있는 타일 7개를 모두 사용해 8글자 단어를 만들면 “빙고”가 된다. 가장 많은 빙고를 만들 수 있는 8글자 모음은 무엇인가? 힌트: 정답은 7이다.
해법: http://thinkpython2.com/code/anagram_sets.py