単語のソート(1181)



Sorting


質問する


N個の小文字の単語がある場合は、次の条件に従ってプログラムを作成します.
길이가 짧은 것부터
길이가 같으면 사전 순으로

入力


1行目は単語の個数Nを与える.(1≦N≦20000)2行目から、各行にN個の小文字からなる単語があります.指定された文字列の長さは50を超えません.

しゅつりょく


条件付きソートで単語を出力します.ただし,同じ単語が複数回入力されると,1回のみ出力される.
import sys

N = int(sys.stdin.readline())
words = []

for i in range(N):
    word = input().strip()
    length = len(word)
    words.append((word, length))
    
words = list(set(words)) # 중복 없이 1번만 출력하기 위해 set 맵핑
words.sort(key = lambda x: (x[1], x[0]))

for i in range(len(words)):
    print(words[i][0])