뒤섞기 정렬

시간 제한1초메모리 제한128 MB

요약
쉼표로 구분된 각 목록에서 단어는 대소문자 구분 없이, 정수는 오름차순으로 정렬하되 각 위치의 단어/정수 형식은 그대로 유지한다.
난이도

보통10점 중 4점

유형
정렬, 문자열, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

단어와 정수가 섞여 있는 여러 개의 목록이 주어집니다. 각 목록을 다음 규칙에 따라 정렬하세요.

  • 모든 단어는 사전순(알파벳순)으로 정렬합니다.
  • 모든 정수는 값의 오름차순으로 정렬합니다.
  • nn번째 원소가 정수였다면 정렬 후에도 그 자리에는 정수가, 단어였다면 그 자리에는 단어가 와야 합니다. 즉 정수와 단어가 놓인 자리(패턴)는 그대로 유지되고, 각 그룹 안에서만 순서가 바뀝니다.

단어는 대소문자를 구분하지 않고 비교하며, 출력할 때는 각 단어의 원래 대소문자를 그대로 유지합니다. 정수는 음수일 수 있습니다.

입력

입력은 여러 개의 목록으로 이루어지며, 한 줄에 목록 하나가 주어집니다. 한 목록 안에서 원소들은 쉼표와 공백(, )으로 구분되고, 각 목록은 마침표(.)로 끝납니다. 입력은 마침표 하나만 있는 줄로 끝납니다.

출력

각 목록마다 뒤섞기 정렬한 결과를 한 줄에 출력합니다. 원소는 쉼표와 공백(, )으로 구분하고, 줄의 끝은 마침표(.)로 마칩니다.

예제1

  1. 예제 1

    입력
    0.
    banana, strawberry, OrAnGe.
    Banana, StRaWbErRy, orange.
    10, 8, 6, 4, 2, 0.
    x, 30, -20, z, 1000, 1, Y.
    50, 7, kitten, puppy, 2, orangutan, 52, -100, bird, worm, 7, beetle.
    .
    
    예상 출력
    0.
    banana, OrAnGe, strawberry.
    Banana, orange, StRaWbErRy.
    0, 2, 4, 6, 8, 10.
    x, -20, 1, Y, 30, 1000, z.
    -100, 2, beetle, bird, 7, kitten, 7, 50, orangutan, puppy, 52, worm.