더북(TheBook)

연습문제 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

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.