[SWEA] GNS [PYTHON]

냐항·2021년 8월 13일
0

숫자 체계가 우리와 다른 어느 행성이 있다. 아래는 이 행성에서 사용하는 0 ~ 9의 값을 순서대로 나타낸 것이다.

"ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"

0 ~ 9 의 값을 나타내는 단어가 섞여 있는 문자열을 받아 작은 수부터 차례로 정렬하여 출력하는 프로그램을 작성하라.

예를 들어 입력 문자열이 "TWO NIN TWO TWO FIV FOR" 일 경우 정렬한 문자열은 "TWO TWO TWO FOR FIV NIN" 이 된다.

[입력]

입력 파일의 첫 번째 줄에는 테스트 케이스의 개수가 주어진다.

그 다음 줄에 #기호와 함께 테스트 케이스의 번호가 주어지고 공백문자 후 테스트 케이스의 길이가 주어진다.

그 다음 줄부터 바로 테스트 케이스가 주어진다. 단어와 단어 사이는 하나의 공백으로 구분하며, 문자열의 길이 N은 100≤N≤10000이다.

첨엔 노가다 코드로 짰지만 답이 나오지 않는 관계로 더 쉬운 방법을 찾았다. 딕셔너리를 써서 짜도 되지만 요게 더 이해하기 쉽다.아직은

num = ["ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"]

for tc in range(1, 11):
     #테스트케이스 번호, TC의 길이
    N, length = map(str, input().split()) 
    length = int(length)
    TC = list(map(str, input().split()))
    ans = []

    for i in range(10):  # 위에 num 원소 갯수 10개
        for k in TC:
            if num[i] == k:
                ans.append(k)
    print(N)
    print(*ans)

0개의 댓글