2017 C Chapter 6 (Week 12)

From: 2017-03-01 00:00:00 To: 2017-06-27 00:00:00 Now: 2024-11-21 21:38:57 Status: Public

C - 연습 6.3 단어 인덱스 만들기

Time Limit: 1s Memory Limit: 128MB

Submissions: 662 Solved: 119
Description

교재의 맨 뒷페이지를 보면 특정 단어가 몇페이지에서 나타났는지를 찾아갈 수 있도록 하는 인덱스가 있습니다.

자! 우리도 단어의 인덱스를 만들어 봅시다.

입력으로 들어온 문장에서 특정 단어가 몇번째 줄에서 나타났는지를 기록하고 ASCII 코드 순으로 출력해 봅시다. 단, 한 문장에서 특정 단어가 여러번 발생할 경우 인덱스에는 1회만 기록합니다.

그리고, 영어에서 발생 빈도를 기준, 상위 10개 단어인 "the", "of", "and", "to", "a", "in", "is", "you", "are", "for"는 무시하도록 합시다! 워낙 자주 나타나는 친구들이라.. 큰 의미가 없거든요~ 주석 역시 무시하도록 합시다.

이번 문제에서는 6글자 이상이여도 그대로 출력합니다.

Input

- Line 1 ~ EOF : 입력 문장

    - 각 문장은 여러 단어가 공백(' ')을 구분자로 연결되어 구성됨

    - 주석은 // 그리고 /* */ 2가지 방식이 모두 나타남

Output

- Line 1 ~ 단어의 수 : 문자열 S 정수 집합 I_list

    - S : 입력 단어

    - I_list : 입력 단어가 나타난 줄 번호 집합. 공백 (' ')으로 구분하여 출력

    - 단어의 ASCII CODE를 기준으로 정렬하여 출력

Sample Input
/* stop words = ( "the", "of", "and", "to", "a", "in", "is", "you", "are", "for" ) */
the tiger of fire and blood in line one
a wolf for you in line two
therapist to live in line three
tiger plaza in line four
PNEUMONOULTRAMICROSCOPICSILICOVOLCANOIOSIS in line five
six man are in line six
THE the OF of AND and TO to A a IN in IS is YOU you ARE are FOR for THE THe ThE The tHe thE tHE the // stop words are discarded
/* words in comment are discarded */
// words in comment are discarded
Sample Output
PNEUMONOULTRAMICROSCOPICSILICOVOLCANOIOSIS 6
blood 2
fire 2
five 6
four 5
line 2 3 4 5 6 7
live 4
man 7
one 2
plaza 5
six 7
therapist 4
three 4
tiger 2 5
two 3
wolf 3