수학 숙제

면접 대비

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

요약
최대 100개의 문자열에서 연속된 숫자 구간을 모두 뽑아 앞의 0을 제거한 뒤 오름차순으로 출력하는 문제입니다.
난이도

쉬움10점 중 3점

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

문제

상근이는 종이에 적힌 여러 줄의 문자열에서 숫자들을 찾아 오름차순으로 정리해야 한다.

각 줄은 알파벳 소문자와 숫자로만 이루어져 있다. 숫자는 서로 인접한 숫자들의 가장 긴 연속 구간을 하나로 본다. 즉, 숫자 구간의 바로 앞과 뒤는 문자열의 경계이거나 알파벳이어야 한다.

숫자의 앞에 붙은 0은 값을 비교하고 출력할 때 제거한다. 모든 자리가 0인 숫자는 0으로 출력한다.

예를 들어 01a2b3456cde478에서 찾는 숫자는 1, 2, 3456, 478이다.

주어진 모든 줄에서 숫자를 찾아 비내림차순으로 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 종이의 줄 수 N이 주어진다. (1 ≤ N ≤ 100)

다음 N개의 줄에는 각 줄의 내용이 주어진다. 각 줄의 길이는 최대 100이며, 알파벳 소문자와 숫자로만 이루어져 있다.

출력

종이에서 찾은 숫자의 개수를 M이라고 하자. M개의 줄에 숫자를 하나씩 출력한다.

숫자는 비내림차순으로 출력한다. 앞에 붙은 0은 제거해서 출력하고, 모든 자리가 0인 숫자는 0으로 출력한다.

예제3

  1. 예제 1

    입력
    2
    lo3za4
    01
    
    예상 출력
    1
    3
    4
    
  2. 예제 2

    입력
    4
    43silos0
    zita002
    le2sim
    231233
    
    예상 출력
    0
    2
    2
    43
    231233
    
  3. 예제 3

    입력
    4
    01bond
    02james007
    03bond
    04austinpowers000
    
    예상 출력
    0
    1
    2
    3
    4
    7