1. 문제와 예제
(문제 링크 : https://www.acmicpc.net/problem/1181)
정렬 문제이며 중복된 단어는 하나만 남긴다는 점을 보아 집합을 사용해야 함을 알 수 있다.
2. 코드
import sys
input = sys.stdin.readline
N = int(input().rstrip()) # 단어의 개수
lst = []
for _ in range(N):
lst.append(input().rstrip()) # 단어들을 list로 받음
lst = sorted(set(lst)) # 중복된 단어 처리, 사전 순 정렬
lst.sort(key=len) # 길이 짧은 순 정렬
for i in lst:
print(i)
3. 풀이
문제에서 준 정렬 조건은 화살표 좌측의 순서이지만, 코드에서는 화살표 우측의 순서로 처리했을 때 해결된다.
'백준' 카테고리의 다른 글
[백준] 1676번 파이썬 (팩토리얼 0의 개수) (0) | 2024.03.12 |
---|---|
[백준] 1436번 파이썬 (영화감독 숌) (0) | 2024.03.12 |
[백준] 2606번 파이썬 (바이러스) (0) | 2024.03.09 |
[백준] 2579번 파이썬 (계단 오르기) (0) | 2024.03.09 |
[백준] 1463번 파이썬 (1로 만들기) (0) | 2024.03.07 |