문제
https://www.acmicpc.net/problem/1431
알고리즘
단어의 길이, 숫자의 합, 단어 사전 순으로 내림 차순 정렬이 필요하다
key = lambda :x 와 sort 함수를 사용하여 구현 할 수 있다
소스코드
import sys
def digit_sum(cur):
num_sum = 0
for x in cur:
if '0' <= x <= '9':
num_sum += int(x)
return num_sum
N = int(input())
serial = []
for _ in range(N):
serial.append(list(input()))
serial.sort(key=lambda x:(len(x), digit_sum(x), x)) #문자의 길이, 문자 내 숫자의 합, 알파벳 사전순 정렬
for i in range(N):
print(''.join(serial[i]))
'Algorithm' 카테고리의 다른 글
[백준 1987] 알파벳 (0) | 2024.09.17 |
---|---|
[백준 1922] 네트워크 연결 (0) | 2024.09.17 |
[백준 1092] 배 (0) | 2024.09.17 |
[백준 5014] 스타트링크 (0) | 2024.09.02 |
[백준 13023] ABCDE (0) | 2024.09.01 |