본문 바로가기
ALGORITHM/SW Expert Academy

[SWEA/Python] 1221. GNS

by 안녕나는현서 2021. 8. 23.
728x90

📌 문제

https://swexpertacademy.com/main/main.do

 

SW Expert Academy

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

swexpertacademy.com

 

📌 코드

import sys

sys.stdin = open('input.txt')

T = int(input())

for _ in range(T):
    t, N = input().split()
    numbers = list(input().split())

    str_num = ["ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"]
    str_cnt = [0]*len(str_num)

    for number in numbers:
        for i in range(len(str_num)):
            if number == str_num[i]:
                str_cnt[i] += 1
                break

    result = []
    for j in range(len(str_num)):
        for _ in range(str_cnt[j]):
            result.append(str_num[j])

    print(t)
    print(' '.join(result))

카운팅 정렬을 사용해서 문제 풀이!

 

+)

T = int(input())

for t in range(1, T+1):
    _ = input()
    number_map = {
        "ZRO": 0,
        "ONE": 1,
        "TWO": 2,
        "THR": 3,
        "FOR": 4,
        "FIV": 5,
        "SIX": 6,
        "SVN": 7,
        "EGT": 8,
        "NIN": 9,
    }
    string = input().split()
    string.sort(key=lambda num: number_map[num])
    print('#{} {}'.format(t, ' '.join(string)))

딕셔너리와 lambda 사용해서 풀이!

728x90

댓글