K-단어 문제
시간 제한3초메모리 제한1024 MB
문장마다 'Korea'를 뒤 단어 또는 'of' 앞 단어와 합쳐 K-단어로 바꾼 요약문을 출력합니다.
문제
아티초크는 교양과목 '한국 문화로 보는 프로그래밍 언어론'을 수강 중이다.
아티초크는 지난주 과제로 '아희가 한국 문화에 미친 영향'을 주제로 단어 분량의 보고서를 작성했다. 이번 주에는 이 보고서를 짧게 요약하는 과제가 나왔다.
이번 학기에 전공과목만 7과목을 수강하고 있어서, 아티초크에게는 요약을 직접 할 여유가 없다. 그래서 아래 규칙에 따라 보고서를 요약하는 프로그램을 만들기로 했다.
-
보고서에 단어 'Korea'가 나오면, 바로 뒤에 오는 단어와 합쳐 'K-단어'로 줄인다. (예: Korea language → K-Language)
- 단어 'Korea'는 대소문자를 구분한다.
- 'Korea' 뒤 단어의 첫 글자가 소문자이면 대문자로 바꾼다.
- 이 규칙을 연달아 여러 번 적용할 수 있으면 뒤에서부터 적용한다.
- 'Korea' 뒤에 문장 부호가 붙어 있으면 이 규칙을 적용할 수 없다.
-
단어 'of' 바로 뒤에 단어 'Korea'가 나오면, 'of' 바로 앞의 단어와 합쳐 K-단어로 줄인다. (예: Language of Korea → K-Language)
- 단어 'of'와 'Korea'는 대소문자를 구분한다.
- 'of' 바로 앞 단어의 첫 글자가 소문자이면 대문자로 바꾼다.
- 이 규칙을 연달아 여러 번 적용할 수 있으면 앞에서부터 적용한다.
- 'of' 뒤에 문장 부호가 붙어 있으면 이 규칙을 적용할 수 없다.
- 'of' 앞에 단어가 없거나, 'of' 바로 앞 단어에 문장 부호가 붙어 있으면 이 규칙을 적용할 수 없다.
- 'Korea' 뒤에 문장 부호가 붙어 있으면, 그 문장 부호를 'of' 바로 앞 단어 뒤에 붙인다.
-
한 문장에 1번 규칙과 2번 규칙을 동시에 적용할 수 있으면, 2번 규칙을 먼저 적용한다.
입력
첫 번째 줄에 문장의 개수 ()이 주어진다.
다음 개의 줄에 알파벳 대소문자와 문장부호 느낌표(!), 물음표(?), 쉼표(,), 마침표(.)로 구성된 문장이 하나씩 주어진다.
각 문장은 하나 이상의 단어로 이루어져 있으며, 각 단어에는 알파벳이 하나 이상 있다.
단어의 길이는 최대 50자이고, 입력으로 주어지는 단어의 총 개수는 5,000을 넘지 않는다.
단어들 사이는 공백 하나로 구분하고, 문장들 사이는 줄바꿈으로 구분한다.
문장부호는 단어의 끝에만 나타나며, 단어 하나에 문장부호는 최대 1개까지 붙을 수 있다. 마침표는 문장의 마지막 단어에만 붙고, 그 밖의 위치에는 나오지 않는다.
출력
규칙을 적용해 요약한 보고서를 개의 줄에 출력한다.