반응형
https://www.acmicpc.net/problem/1431
n = int(input())
serial = [input() for _ in range(n)]
# 숫자 합 구하는 메서드
def s_num(x):
result = [int(n) for n in x if n.isdigit()]
return sum(result)
serial.sort(key=lambda x : (len(x), s_num(x), x)) # 길이 -> 숫자 합 -> 사전 순으로 정렬
for s in serial:
print(s)
1. 숫자 합을 구하는 메서드를 정의한다.
1-1. 시리얼번호에서 문자 하나씩 가져와서 숫자라면 result에 담는다.
1-2. 숫자 합을 리턴한다.
2. 길이 -> 숫자 합 -> 사전 순으로 serial을 정렬한다.
3. 결과를 출력한다.
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준/Python] 포도주 시식 (0) | 2021.11.07 |
---|---|
[백준/Python] 회전하는 큐 (0) | 2021.11.03 |
[백준/Python] 절대값 힙 (0) | 2021.10.23 |
[백준/Python] 카드 (0) | 2021.10.13 |
[백준/Python] 요세푸스 문제 0 (0) | 2021.10.10 |