[python 파이썬] 백준 1431번 시리얼 번호
2021. 1. 28. 03:51ㆍAlgorithm/BOJ
반응형
1431번: 시리얼 번호
첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루
www.acmicpc.net
이 문제는 파이썬의 정렬기능을 잘 활용하면 해결할 수 있는 문제였다. (아직 기능을 알고리즘 문제에 적용하기엔 많은 연습이 필요함을 느꼈다.)
조건에 맞게 key를 설정해주면 되었다.
시리얼 번호 중 숫자의 합을 구해야하는 조건도 있기에 미리 그 값을 구하면 편했다.
전처리 작업이 끝나면 sort의 key를 이용해서 정렬하도록 한다.
key=lambda x : (정렬조건 , , ) 같은 방식으로 사용한다.
n = int(input())
guitar=[]
for _ in range(n):
count=0
command=input()
for c in command:
if c.isdigit():
count+=int(c)
guitar.append((command,count))
guitar.sort(key=lambda x:(len(x[0]),x[1],x[0])) # 1. 길이 2. 숫자합 3. 사전순
for g in guitar:
print(g[0])
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[python 파이썬] 백준 2776번 암기왕 (0) | 2021.01.29 |
---|---|
[python 파이썬] 백준 10951번 A+B-4 (0) | 2021.01.28 |
[python 파이썬] 백준 11652번 카드 (0) | 2021.01.28 |
[python 파이썬] 백준 11021번 A+B-7 (0) | 2021.01.28 |
[python 파이썬] 백준 15552번 빠른 A+B (0) | 2021.01.28 |