| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 (하단 참고) | 512 MB | 581 | 230 | 170 | 43.257% |
Bob은 문자열 정렬기를 만들어야한다.
문자열은 영문 알파벳 이외에도 붙임표 ('-')가 들어가는 경우가 있기 때문에 처리가 까다롭다. 이 문제에 한해, 서로 다른 두 문자열 $X$, $Y$의 "사전식" 순서는 아래 규칙에 따라 정한다:
-')인 경우, 붙임표가 들어간 문자열이 사전순에서 뒤진다. 예를 들어, $X_i$가 붙임표이고 $Y_i$가 붙임표가 아닌 경우, $Y$가 앞선다.예를 들어, 아래와 같은 문자열 쌍을 비교해보자:
Santa-Mar" 과 $Y = $"Santa-Maria": 이 경우 규칙 1에 따라 $X$가 앞선다. $X$가 $Y$의 접두사이기 때문이다.San-Francisco" 와 $Y = $"Santa-Clara": 이 경우 처음 $3$개의 문자는 같지만 $4$번째 문자가 '-'와 't'로 다르다. 규칙 2-1에 따라 $X$가 $Y$에 뒤진다.Seoul"과 $Y = $"seoul": 이 경우 규칙 2-2에 따라 "Seoul"이 앞선다.입력으로 $n$개의 문자열이 주어졌을 때, 위 규칙에 따라 사전식 정렬 후 출력하는 문자열 정렬기를 만들어보자.
첫 줄에 테스트 케이스의 수 $T$가 주어진다.
각 테스트 케이스의 첫 줄에는 $n$이 주어진다. 다음 $n$줄에 걸쳐 각 줄에 문자열이 하나씩 주어진다.
각 테스트 케이스의 정답을 $n$줄에 걸쳐 출력한다. 각 줄에는 사전순으로 정렬된 문자열 하나씩을 순서대로 출력한다.
A'-'Z'), 영문 소문자 ('a'-'z'), 그리고 붙임표 ('-') 만을 포함한다4 3 Aa- a-A Aa- 7 San-Francisco Santa-Clara Santa-Clarita San-Luis-Obispo San-Pedro Saint-Paul Saint-Louis 2 Santa-mar Santa-Mar 3 - -- ---
Aa- Aa- a-A Saint-Louis Saint-Paul Santa-Clara Santa-Clarita San-Francisco San-Luis-Obispo San-Pedro Santa-Mar Santa-mar - -- ---
예제 1: "Aa-" 문자열이 두 번 주어졌으므로 두 번 출력해야 한다. "Aa-" 와 "a-A"를 비교하면 첫 글자가 다르므로 규칙 2-2에 따라 "Aa-"가 사전순으로 앞선다.
예제 2: "Saint-Louis" 와 "Saint-Paul" 의 경우 'L' 이 'P' 보다 앞선다.
예제 3: "Santa-Mar" 과 "Santa-mar"의 경우 'M' 이 'm' 보다 앞선다.
예제 4: 추가 설명 없음 (규칙 1 참고)