반응형
문제
알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.
- 길이가 짧은 것부터
- 길이가 같으면 사전 순으로
문제풀이
import sys
input = sys.stdin.readline
A=[]
for _ in range(int(input())):
a = input().rstrip()
if a not in A:
A.append(a)
A.sort()
A.sort(key=len)
for i in A:
print(i)
- 사전 순으로 정렬한 뒤 key를 이용해 길이가 짧은 순으로 정렬한다.
역순으로 진행할 경우 결국 사전 순으로 정렬되어서 의미가 없어진다.
'프로그래밍 > 백준' 카테고리의 다른 글
[알고리즘] 백준 1158 파이썬 - 요세푸스 문제 (4) | 2022.10.27 |
---|---|
[알고리즘] 백준 10867 파이썬 - 중복 빼고 정렬하기 (1) | 2022.10.26 |
[알고리즘] 백준 10815 파이썬 - 숫자 카드 (0) | 2022.10.24 |
[알고리즘] 백준 11655 파이썬 - ROT13 (0) | 2022.10.23 |
[알고리즘] 백준 10820 파이썬 - 문자열 분석 (0) | 2022.10.22 |