시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1.5 초 512 MB 325 85 64 30.476%

문제

가희는 jo_test 폴더에 들어와 있습니다. 가희는 jo_test에 있는 파일 N개를 아래 기준에 따라 정렬하려고 합니다.

  1. 파일명 (FILENAME) 사전순으로
  2. 파일명 (FILENAME)이 같다면 가희가 설치한 OS에서 인식하는 확장자가 붙은 것이 먼저 나오게
  3. 1과 2로도 순서를 결정할 수 없다면, 파일 확장자 (EXTENSION) 사전 순으로

파일 N개를 문제에서 설명하는 정렬 기준에 따라 정렬해 주세요. 사전순의 기준은 아스키 코드 순입니다.

입력

첫 번째 줄에 jo_test 폴더에 있는 파일 개수 N과 가희가 설치한 OS에서 인식하는 파일 확장자의 개수 M이 공백으로 구분되어 주어집니다.

2번째 줄부터 N+1번째 줄까지 FILENAME.EXTENSION 형식의 문자열이 주어집니다. 여기서 .은 온점을 의미합니다.

FILENAME은 소문자와 숫자로만, EXTENSION은 소문자로만 이루어져 있습니다.

그 다음 줄 부터 가희가 설치한 OS에서 인식하는 파일 확장자 (EXTENSIONM개가 주어집니다.

출력

기준에 따라 정렬된 결과를 출력해 주세요.

제한

  • 1 ≤ N ≤ 2×105
  • 1 ≤ M ≤ 2×105
  • 파일 확장자와 파일명의 길이는 10을 넘지 않습니다.
  • 입력으로 주어지는 FILENAME.EXTENSION 꼴의 N개는 중복되지 않습니다. 
  • 가희가 설치한 OS에서 인식하는 파일 확장자 M개는 중복되지 않습니다.

예제 입력 1

5 3
abc.jpeg
abc.jpg
foo.yolo
bar.cpp
bar.maltise
jpg
cpp
maltise

예제 출력 1

abc.jpg
abc.jpeg
bar.cpp
bar.maltise
foo.yolo

1번 예제에 대한 설명입니다.

  • 먼저 FILENAME 순으로 정렬했을 때 아래와 같이 세 개의 그룹으로 나뉩니다.
    • abc.jpeg abc.jpg
    • bar.cpp bar.maltise
    • foo.yolo
  • 가희가 설치한 OS에서 jpeg는 인식하지 못하고, jpg는 인식하는 확장자이므로, 두 번째 기준에 따라 정렬하면 아래와 같습니다.
    • abc.jpg
    • abc.jpeg
    • bar.cpp bar.maltise
    • foo.yolo
  • 아직 bar.cpp와 bar.maltise의 순서는 결정되지 못하였습니다. 세 번째 정렬 기준에 따라서, 확장자 사전순으로 정렬하면 아래와 같습니다.
    • abc.jpg
    • abc.jpeg
    • bar.cpp
    • bar.maltise
    • foo.yolo

예제 입력 2

5 1
vvv.busan
dongdaegu.miryang
gupo.busan
train1225.mugunghwa
trainer.jpg
jpg

예제 출력 2

dongdaegu.miryang
gupo.busan
train1225.mugunghwa
trainer.jpg
vvv.busan

숫자는 소문자보다 아스키 코드 값이 작습니다.

출처

Contest > 가희와 함께 하는 코딩 테스트 > 가희와 함께 하는 2회 코딩 테스트 1번