학생들이 실제로 쓰는 단어를 모아 사전을 만들려고 한다. 과제물, 게시판 글, 이메일에서 가져온 텍스트를 프로그램에 넣어 단어만 뽑아낸다.
같은 단어를 이미 봤는지 쉽게 확인하려면 텍스트를 일정한 형태로 다듬어야 한다. 텍스트 한 줄을 다음 순서로 처리한다.
a부터 z까지, 숫자는 0부터 9까지다. 공백을 뺀 나머지 글자는 모두 구두점이다.가령 haven't는 작은따옴표 양옆이 알파벳이라 havent가 되고, Hartley-Jones.는 hartleyjones가 된다. top-10은 하이픈 뒤가 숫자여서 top과 10으로 갈라지고, 10은 숫자뿐이라 버린다.
입력은 여러 줄로 이루어지고 각 줄이 분석할 텍스트 한 덩어리다. 입력은 # 한 글자만 있는 줄로 끝나며 이 줄은 텍스트가 아니다.
텍스트는 적어도 한 줄 있고, 한 줄의 길이는 250자를 넘지 않는다. 각 줄은 출력 가능한 ASCII 문자, 즉 코드 32번부터 126번까지의 글자로만 이루어진다.
텍스트 한 줄에서 뽑은 단어를 사전순으로 한 줄에 하나씩 출력한다. 텍스트 한 줄이 단어 집합 하나에 대응하고, 이웃한 두 집합 사이에는 빈 줄을 하나 넣는다.
단어가 하나도 남지 않는 줄도 집합 하나로 센다. 그 집합은 아무것도 출력하지 않지만 구분용 빈 줄은 그대로 들어가므로 빈 줄이 연달아 나올 수 있다.