2570번 - 욘세이대학교
스페셜 저지시간 제한1 초
메모리 제한1024 MB
제출1
정답0
맞힌 사람0
정답 비율0.00%
문제
'YONSEI'라는 단어를 보고, 형진이는 무의식적으로 '욘세이'라고 읽어버렸다.
문득 궁금해졌다. 왜 연세대학교에서 '연세'가 'YONSEI'일까?
잠깐 고민해본 형진이는, 순식간에 한 가지를 깨달을 수 있었다. 바로, 'YONSEI'라는 단어는 멋이 있다는 것이다! 반면, 'YUNSE'는 약간 멋이 없는것 같기도 하다. (전적으로 형진이의 기준이다.)
형진이의 기준에, 영단어들은 '멋'이 있는 영단어가 있고, '멋'이 없는 영단어가 있다는것을 알게 됐다.
형진이가 제안한 멋있는 단어는 다음과 같다:
\begin{itemize}
\item 각 단어에 포함된 모든 문자는 1회만 사용된다.
\item 단어에 포함된 각 문자를 사전순으로 나타냈을 때, 인접한 문자가 사전순으로 증가하는 횟수와 사전순으로 감소하는 횟수가 1이하로 차이난다.
\end{itemize}
대표적으로, YUNSE는 멋있는 단어가 아니다. 사전순으로 `Y`가 `U`보다 더 크며, 따라서 `Y`에서 `U`는 사전순으로 감소한다. 비슷하게, `U`에서 `N`도 사전순으로 감소하며, `N`에서 `S`는 사전순으로 증가하며, `S`에서 `E` 는 사전순으로 감소한다. YUNSE 문자열에서 사전순으로 증가한 횟수는 총 1회, 사전순으로 감소한 횟수는 총 3회이다. 증가한 횟수와 감소한 횟수가 2 차이나므로, 해당 단어는 멋있는 단어가 아니다.
반면, YONSEI는 멋있는 단어이다. `Y`에서 `O`는 사전순으로 감소하며, `O`에서 `N`도 사전순으로 감소하며, `N`에서 `S`는 사전순으로 증가하며, `S`에서 `E` 는 사전순으로 감소하며, `E`에서 `I` 는 사전순으로 증가한다. YONSEI 문자열에서 사전순으로 증가한 횟수는 총 2회, 사전순으로 감소한 횟수는 총 3회이다. 증가한 횟수와 감소한 횟수가 1 차이나므로, 해당 단어는 멋있는 단어이다.
특정한 단어가 주어졌을 때, 해당 단어를 접두사로 하는 가장 짧은 멋있는 단어를 하나 구성해서 출력해보자. 만약 가장 짧은 멋있는 단어가 여러개라면, 그 중 아무거나 출력한다.
문득 궁금해졌다. 왜 연세대학교에서 '연세'가 'YONSEI'일까?
잠깐 고민해본 형진이는, 순식간에 한 가지를 깨달을 수 있었다. 바로, 'YONSEI'라는 단어는 멋이 있다는 것이다! 반면, 'YUNSE'는 약간 멋이 없는것 같기도 하다. (전적으로 형진이의 기준이다.)
형진이의 기준에, 영단어들은 '멋'이 있는 영단어가 있고, '멋'이 없는 영단어가 있다는것을 알게 됐다.
형진이가 제안한 멋있는 단어는 다음과 같다:
\begin{itemize}
\item 각 단어에 포함된 모든 문자는 1회만 사용된다.
\item 단어에 포함된 각 문자를 사전순으로 나타냈을 때, 인접한 문자가 사전순으로 증가하는 횟수와 사전순으로 감소하는 횟수가 1이하로 차이난다.
\end{itemize}
대표적으로, YUNSE는 멋있는 단어가 아니다. 사전순으로 `Y`가 `U`보다 더 크며, 따라서 `Y`에서 `U`는 사전순으로 감소한다. 비슷하게, `U`에서 `N`도 사전순으로 감소하며, `N`에서 `S`는 사전순으로 증가하며, `S`에서 `E` 는 사전순으로 감소한다. YUNSE 문자열에서 사전순으로 증가한 횟수는 총 1회, 사전순으로 감소한 횟수는 총 3회이다. 증가한 횟수와 감소한 횟수가 2 차이나므로, 해당 단어는 멋있는 단어가 아니다.
반면, YONSEI는 멋있는 단어이다. `Y`에서 `O`는 사전순으로 감소하며, `O`에서 `N`도 사전순으로 감소하며, `N`에서 `S`는 사전순으로 증가하며, `S`에서 `E` 는 사전순으로 감소하며, `E`에서 `I` 는 사전순으로 증가한다. YONSEI 문자열에서 사전순으로 증가한 횟수는 총 2회, 사전순으로 감소한 횟수는 총 3회이다. 증가한 횟수와 감소한 횟수가 1 차이나므로, 해당 단어는 멋있는 단어이다.
특정한 단어가 주어졌을 때, 해당 단어를 접두사로 하는 가장 짧은 멋있는 단어를 하나 구성해서 출력해보자. 만약 가장 짧은 멋있는 단어가 여러개라면, 그 중 아무거나 출력한다.
입력
첫 번째 줄에 단어의 길이 $N$이 입력으로 주어진다. ($1 \le$ N $\le 5$)
두 번째 줄에 단어가 입력으로 주어진다.
단어는 모두 알파벳 대문자로 이루어져 있으며, 주어지는 단어에 있는 모든 문자는 서로 다르다.
두 번째 줄에 단어가 입력으로 주어진다.
단어는 모두 알파벳 대문자로 이루어져 있으며, 주어지는 단어에 있는 모든 문자는 서로 다르다.
출력
첫 번째 줄에 주어진 단어를 접두사로 하는 가장 짧은 멋있는 단어의 길이를 출력한다.
두 번째 줄에 그 단어를 출력한다.
두 번째 줄에 그 단어를 출력한다.
예제 1
예제 입력 1
5 YUNSE
예제 출력 1
6 YUNSEI
예제 2
예제 입력 2
3 ABC
예제 출력 2
6 ABCZYX
예제 3
예제 입력 3
3 ACB
예제 출력 3
3 ACB
예제 4
예제 입력 4
1 A
예제 출력 4
1 A
문제 정보
| 출처 | school > 연세대학교 > 연세대학교 프로그래밍 경진대회 2025 |
|---|---|
| 출제자 | plast7 |
| 검수자 | - |