이 포스팅에서는 문제를 풀다가 찾아본 정보, 파이썬의 기본 정렬에 대해 정리해두었다.
단어정렬은 단어를 다음 기준에 따라 정렬하는 문제이다.
코드는 아래와 같다.
# 1181 단어 정렬
N = int(input())
ar = []
for i in range(N):
tmp = input()
ar.append(tmp)
ar = set(ar)
ar = sorted(ar)
ar = sorted(ar, key=len)
for i in range(len(ar)):
print(ar[i])
문제의 의도는 아마 정렬 함수의 구현 아니었을까...
파이썬 쓰면 매우 게으르게 풀 수 있다고 느꼈기 때문에 (컴퓨터 용어의 lazy 아님.ㅋㅋ) 그것에 대해서 써보겠다.
sorted(ar, key=len)
list.sort()
와 sorted(list)
의 차이list.sort()
는 in-place 함수이다. list를 정렬하여 그것을 list에 저장한다. 반환값은 None이다.sorted(list)
는 list를 정렬하여 그것을 반환한다. 반환값은 정렬된 list이다. 기존 list에는 변형 없다.