파이썬/Algorithms
백준(BAEKJOON) 1181 단어정렬 - 파이썬(python)
hanshow113
2021. 4. 12. 23:31
처음에는 딕셔너리를 사용해서 {"단어":단어길이} 식으로 key, value 로 접근해서 풀려고 했는데 한 조건이 같을 때 다음 조건으로 정렬하는 부분을 구현하는 데 어려움이 있어서 튜플을 이용해서 풀었다.
import sys
n = int(sys.stdin.readline())
# 문자를 입력받고 중복된 문자를 제거 한 후 리스트에 삽입
sentence = list(set([sys.stdin.readline().strip() for i in range(n)]))
words = [(len(word), word) for word in sentence] # 튜플이 원소인 리스트 생성
words.sort(key=lambda word: (word[0], word[1])) # 단어 길이, 단어 순으로 오름차순 정렬
for word in words:
print(word[1])