백준 1181 단어 정렬 (파이썬)
접근방식
- 입력된 문자를 길이로, 길이가 같다면 사전 순으로 정렬해야하고 출력 시 중복 문자열이 없도록 한다.
- 출력할 때 중복 문자열을 제어하는 방법도 있겠지만 나는 애초에 입력 시 중복 문자열을 체크해 리스트에 넣지 않도록 했다.
- 정렬 조건은 .sort()함수의 key를 통하여 제어했다.
파이썬 코드
import sys
n = int(sys.stdin.readline())
words = []
# 중복 문자열을 거른다.
for _ in range(n):
word = sys.stdin.readline().strip()
if word not in words:
words.append(word)
words.sort(key=lambda w:(len(w),w))
print('\n'.join(words))