여기 당신의 모든 대장장이를위한 것이 있습니다! 단어 목록을 가져 와서 각 단어에 대해 가능한 모든 분해 분해 목록을 생성하는 프로그램 또는 함수를 작성하십시오. 예를 들면 다음과 같습니다.
(참고 : 이것은 설명을위한 작은 샘플링에 불과합니다. 실제 출력은 훨씬 더 방대합니다.)
afterglow = after + glow
afterglow = aft + erg + low
alienation = a + lie + nation
alienation = a + lien + at + i + on
alienation = a + lien + at + ion
alienation = alien + at + i + on
alienation = alien + at + ion
archer = arc + her
assassinate = ass + as + sin + ate
assassinate = ass + ass + in + ate
assassinate = assassin + ate
backpedalled = back + pedal + led
backpedalled = back + pedalled
backpedalled = backpedal + led
goatskin = go + at + skin
goatskin = goat + skin
goatskin = goats + kin
hospitable = ho + spit + able
temporally = tempo + rally
windowed = win + do + wed
windowed = wind + owed
weatherproof = we + at + her + pro + of
yeasty = ye + a + sty
좋아, 당신은 아이디어를 얻는다. :-)
규칙
- 원하는 프로그래밍 언어를 사용하십시오. 각 언어의 문자 수 에 따라 가장 짧은 코드가 승리합니다. 이것은 사용 된 각 언어마다 한 명의 승자가 있다는 것을 의미합니다. 전체 우승자는 제출 된 모든 코드 중 가장 짧은 코드입니다.
- 입력 목록은 텍스트 파일, 표준 입력 또는 언어에서 제공하는 목록 구조 (목록, 배열, 사전, 세트 등) 일 수 있습니다. 단어는 영어 또는 다른 자연어 일 수 있습니다. (목록이 영어 단어 인 경우 "a"및 "i"를 제외하고 단일 문자 항목을 무시하거나 미리 필터링해야합니다. 마찬가지로 다른 언어의 경우 무의미한 항목은 무시합니다. 파일에 나타납니다.)
- 출력 목록은 텍스트 파일, 표준 출력 또는 언어에서 사용하는 목록 구조 일 수 있습니다.
- 원하는 입력 사전을 사용할 수 있지만, 모호하거나, 간결하거나, 애매 모호한 단어를 너무 많이 제공하는 단어보다는 의미있는 단어를 제공하는 단어를 사용하고 싶을 것입니다. 내가 사용한 파일 : 58000 개가 넘는 영어 단어의 Corncob 목록
질문
이 과제는 주로 작업을 수행하기위한 코드 작성에 관한 것이지만 결과를 결합하는 것도 재미 있습니다 ...
- 어떤 하위 단어가 가장 일반적으로 발생합니까?
- 가장 많은 수의 하위 단어로 어떤 단어를 분해 할 수 있습니까?
- 가장 다양한 방법으로 어떤 단어를 분해 할 수 있습니까?
- 가장 큰 하위 단어로 구성된 단어는 무엇입니까?
- 가장 재미 있었던 분해는 무엇입니까?
alienation
잘라서 붙여 넣을 때의 두 가지 분해를 놓쳤습니다 . 지금 수정했습니다. 다른 측면에서, 위의 목록은 작은 샘플링에 불과합니다. 내 테스트 프로그램은 Corncob 목록을 받았을 때 수만 개의 답변을 생성했습니다.