728x90
반응형

VERSION 2.0

import sys
import heapq

N = int(sys.stdin.readline())
res = []
for i in range(N):
    a = sys.stdin.readline().rstrip()
    heapq.heappush(res, (len(a), a))

res = list(set(res))  # 중복된 값을 제거하기 위해 set을 사용한 뒤 리스트로 변환합니다.
res.sort(key=lambda x: (x[0], x[1]))  # 단어 길이가 같은 경우 알파벳 순서로 정렬합니다.

for r in res:
    print(r[1])  # 정렬된 단어를 출력합니다.

==> SORTED (KEY = ) 

VERSION 1.0

import sys

A = int(sys.stdin.readline())
res = []
for i in range(A):
    a = list(str(sys.stdin.readline().rstrip()))
    b= len(a)
    a.append(b)
    res.append(a)

res = list(set(map(tuple,res)))

res.sort(key = lambda x : (x[-1] , x[0:-1] ))


for i in res:
    for p in i[:-1]:
        print(p , end = '')
    print('')

res = list(set(map(tuple,res))) ===> 2중 리스트의 중복값 걸러내게 한다.

 

 

res.sort(key = lambda x : (x[-1] , x[0:-1] )) ===> sort 함수 내 lambda 함수를 활용하여 리스트 끝값(단어의 길이)를 우선 정렬하고, 다음엔 리스트의 첫글자부터 끝글자의 -1 값까지를 기준으로 정렬한다.

728x90
반응형

+ Recent posts