[Python]BaekJoon.AC

[Python]백준 BaekJoon.AC 1181 : 단어 정렬(sort())

스뇨잉 2022. 1. 11. 00:14
728x90
728x90

 

https://www.acmicpc.net/problem/1181

 

1181번: 단어 정렬

첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.

www.acmicpc.net

 

 

 

정렬을 정식으로 접해봤다. 나름 쉽고 간편하다.. 

리스트에 단어들을 넣어주고, set을 이용해 중복을 제거해줬다.

그리고 sort를 이용해 정렬을 시도했다. 리스트 항목의 길이를 최우선으로 뒀고, 사전식 배열을 다음 순위로 설정했다.

괄호 안에 순서대로 넣으면 된다.

굿!

 

 

 

N = int(input())
words = []

for i in range(N):
    words.append(input())

words = list(set(words))
words.sort(key=lambda x : (len(x), x))

for w in words:
    print(w)

 

 

728x90
728x90