SWEA(Python) 풀이/D3

SWEA[D3] (Python) 1221번 [S/W 문제해결 기본] 5일차 - GNS 풀이

개발윗미 2022. 5. 30. 20:06

Python으로 구현한 1221번 [S/W 문제해결 기본] 5일차 - GNS 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV14jJh6ACYCFAYD&categoryId=AV14jJh6ACYCFAYD&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=3&pageSize=10&pageIndex=10 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


t = int(input())

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

for tc in range(1, t + 1) :
    num, n = input().split()
    data = list(input().split())

    for i in range(int(n)) :
        data[i] = info.index(data[i])

    data.sort()
    for i in range(int(n)) :
        data[i] = info[data[i]]

    print('#%d' % tc)
    print(*data)

 

1. "ZRO" ~ "NIN" 까지의 문자열을 info 리스트에 담는다.

 

2. 각 테스트 케이스마다 n개의 문자열을 입력받아 data 리스트에 저장한다.

 

3. data 리스트의 각 요소를 통해 info 리스트의 해당 인덱스를 찾아 data[i]에 갱신한다.

 

4. data 리스트를 오름차순으로 정렬한 후, 다시 data[i]를 인덱스로 하여 info 리스트에서 문자열을 가져와 data[i]에 할당한다.

 

5. 최종적으로 해당 테스트 케이스 번호와 함께 data 리스트의 요소를 출력한다.