728x90
반응형
1. 단어을 사전 순으로 정렬한 다음에
2. 길이 순으로 정렬하면
=> 길이 순으로 정렬한 후 사전 순으로 정리한 것 처럼 출력할 수 있습니다.
또한, set 함수를 이용해서 중복된 값을 합쳤고, sort에서 key를 이용하여 길이 순으로 정렬하였습니다.
import sys
input = sys.stdin.readline # 입력 속도를 높여주는 sys.stdin.readline을 input으로 사용합니다.
n = int(input().strip()) # 입력받을 문자열의 개수를 저장합니다.
a = [] # 문자열을 저장할 리스트를 초기화합니다.
# 문자열을 입력받아 리스트에 추가합니다.
for i in range(n):
a.append(input().strip())
# 중복 제거
a = set(a) # 중복을 제거하기 위해 리스트를 집합으로 변환합니다.
a = list(a) # 중복이 제거된 집합을 다시 리스트로 변환합니다.
# 사전식 순서로 정렬
a.sort()
# 문자열 길이로 정렬
a.sort(key=len) # 문자열 길이를 기준으로 정렬합니다.
# 정렬된 문자열 출력
for i in a:
print(i) # 각 정렬된 문자열을 출력합니다.
728x90
반응형
'프로그래밍_백준 > Python' 카테고리의 다른 글
Phthon) 1929번 소수 구하기 (0) | 2023.08.10 |
---|---|
Python) 10989 수 정렬하기 Counting Sort (계수 정렬) (0) | 2023.08.08 |
Python) 9012번 괄호 문제 (stack) (0) | 2023.08.07 |
Python) 2839번 설탕 배달 문제 (0) | 2023.08.07 |
Python) 백준 2609번 최대공약수와 최소공배수 (0) | 2023.08.02 |