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
반응형
'Python(백준) > 정렬' 카테고리의 다른 글
★정렬★알고리즘 수업 - 선택 정렬 1[백준 파이썬 23881번] (0) | 2023.05.02 |
---|---|
[백준 파이썬 10814번]나이순 정렬★우선순위 힙큐로 풀기★lambda ★문자열 리스트로 받아오기 (1) | 2023.04.10 |
[백준 파이썬 11651번]좌표 정렬하기 2★우선순위 힙 사용하기★SORTED()★리스트 a로 받아오기 (0) | 2023.04.09 |
[백준 파이썬 11650번]좌표 정렬하기★문자열 받기★우선순위 힙으로 풀기★SORTED()★리스트 a로 받아오기★VER2.0 (0) | 2023.04.09 |
[백준 파이썬 1427번]소트인사이드★SORTED()★a값 리스트 유형별 받는 방법!!★"".join(map(str,리스트) )★VER2.0 (1) | 2023.04.09 |