728x90
📌 문제
https://swexpertacademy.com/main/main.do
📌 코드
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
'ALGORITHM > SW Expert Academy' 카테고리의 다른 글
[SWEA/Python] 4871. 그래프 경로 (0) | 2021.08.24 |
---|---|
[SWEA/Python] 4869. 종이붙이기 (0) | 2021.08.24 |
[SWEA/Python] 1210. Ladder1 (0) | 2021.08.13 |
[SWEA/Python] 1979. 어디에 단어가 들어갈 수 있을까 (0) | 2021.08.13 |
[SWEA/Python] 4837. 부분집합의 합 (0) | 2021.08.13 |
댓글