[백준] 1181 단어 정렬 Python

2024. 6. 28. 19:25Python/백준

https://www.acmicpc.net/problem/1181

 

📝  문제

알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.
1. 길이가 짧은 것부터
2. 길이가 같으면 사전 순으로
단, 중복된 단어는 하나만 남기고 제거해야 한다.

 

🔎  풀이

단어를 입력받고 리스트에 저장한다. 만약 리스트 내에 이미 존재하는 단어라면 저장하지 않는다. 사전 순으로 정렬한 뒤 길이 순으로 정렬하여 출력하면 된다.

 

💻  코드

words = []
for i in range(int(input())):
    word = input()
    if not word in words:
        words.append(word)

print("\n".join(sorted(sorted(words), key=len)))