CSE1017 프로그래밍기초 (2022) 숙제 7 [2점] 마감 : 5월 25일 수업시작 직전까지 코드파일 업로드

어구전철(Anagram) 찾기

어구전철(語句轉綴, anagram)은 단어나 문장을 구성하고 있는 문자의 순서를 바꾸어 다른 단어나 문장을 만드는 놀이이다. 예를 들어 silentlisten 은 문자를 재배치하여 서로를 만들 수 있으므로 어구전철이다. 임의의 문자열의 리스트에서 어구전철을 모두 찾아서 화면에 프린트해주는 프로시저 find_anagrams를 만들어보자.

단어의 길이는 4 로만 제한하고, 단어는 ‘0’~’9’자의 숫자로만 구성되어 있다고 가정한다. 즉, 이 프로시저는 4자리 숫자문자열 리스트를 인수로 받아서, 존재하는 어구전철을 모두 찾아서 한 종류를 한 줄씩 화면에 프린트한다. 프린트 순서는 중요하지 않으므로 프로그램 하기에 따라서 다를 수 있다.

입출력 사례

인수

["0952", "5239", "1270", "8581", "7458", "3414", "7906", "2356", "4360", "3491", 
 "6232", "5927", "2735", "2509", "5849", "8457", "9340", "1858", "8602", "5784"]

화면 출력

2509 0952
8581 1858
7458 8457 5784

인수

['1112','1112','1211','2111','1211','1121','1112']

화면 출력

1112 1211 1121 2111

인수

['1111','1111','1111','1111']

화면 출력


인수

['0000','7890']

화면 출력


인수

[]

화면 출력