| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 275 | 75 | 73 | 40.556% |
토카는 새로운 언어를 공부하기 위해 새로운 계정을 만들기로 했다. 하지만 토카는 계정의 이름을 정하지 못하고 있다!
토카가 이번에 공부할 언어의 이름은 $S$이다. 토카는 원래 사용하고 있던 계정 이름인 toycartoon과 비슷하게 이름을 짓기로 했다.
하지만 평소 쓰던 계정 이름에 공부할 언어의 이름만 뒤에 붙이는 것은 식상하다고 느낀 토카는 다음과 같은 방식으로 새로운 계정 이름의 후보를 정하기로 했다.
toycartoon의 부분문자열인 것 중 가장 긴 문자열을 $O$라고 하자. 그러한 문자열이 여러 개라면 가장 앞에 있는 문자열을 선택한다.
toycartoon_ 뒤에 $S$를 붙인 문자열이 계정 이름의 후보가 된다.toycartoon은 세 문자열 $T,ドル $O,ドル $Y$를 순서대로 쓴 것으로 볼 수 있다. $S$에서 $O$를 제외한 부분의 접미사이면서 $Y$의 접두사인 가장 긴 문자열을 $Y$의 앞에서 지운다. 이후 $T,ドル $S,ドル $Y$를 이어붙인 문자열이 계정 이름의 후보가 된다.
rust라면 $O$는 r이 되고, $S$에서 $O$를 제외한 부분의 접미사이면서 $Y$의 접두사가 될 수 있는 가장 긴 문자열은 t가 된다. 따라서 $T,ドル $S,ドル $Y$는 각각 toyca, rust, oon이 되고, 계정 이름의 후보는 toycarustoon이 된다.만약 계정 이름의 후보의 길이가 20을 넘는다면 계정 이름의 길이 제한에 걸리기 때문에 toycartoon을 계정 이름으로 사용해야 한다. 아니라면 계정 이름의 후보를 새로운 계정 이름으로 사용한다. 토카를 도와 토카가 사용할 새로운 계정의 이름을 구해보자!
첫째 줄에 토카가 공부하고자 하는 언어의 이름 $S$가 주어진다. $S$는 알파벳 소문자로 이루어져 있으며, 길이는 1ドル$ 이상 20ドル$ 이하이다.
첫째 줄에 토카가 사용할 계정의 이름을 출력한다.
cpp
toycppartoon
rust
toycarustoon
python
toycartoon_python
referencement
toycartoon
어떤 문자열 $S$의 부분문자열은 $S$의 연속된 일부를 의미한다.
토카는 실제로 toycppartoon이라는 부계정을 가지고 있다.
Contest > BOJ User Contest > 카툰컵 > Cartoon Cup: ONE A번