https://www.acmicpc.net/problem/1181
import sys
read = sys.stdin.readline
words = []
n = int(read())
for _ in range(n):
word = input()
leng = len(word)
words.append((leng, word))
set_words = list(set(words))
set_words.sort(key=lambda x: (x[0], x[1]))
for word in set_words:
print(word[1])
입력받은 단어와 그 단어의 길이를 구해 words 리스트에 쌍으로 묶어서 저장해주었다.
그리고 set함수를 이용해 중복 제거를 해준 후 sort함수를 이용해 정렬해주었다. key 매개변수를 이용해 길이로 먼저 정렬한 후 글자로 정렬되게 했다.
** 처음에 leng 변수 이름을 len으로 설정했더니 오류가 발생했다.. 이거 해결하는데 시간이 꽤 많이 걸렸음..... 변수이름 설정 잘합시당.....😅
'Algorithm > Problems' 카테고리의 다른 글
[백준/파이썬] 18870번 좌표 압축 (0) | 2022.11.09 |
---|---|
[백준/파이썬] 10814번 나이순 정렬 (0) | 2022.11.09 |
[백준/파이썬] 11651번 좌표 정렬하기2 (0) | 2022.11.08 |
[백준/파이썬] 11650번 좌표 정렬하기 (0) | 2022.11.08 |
[백준/파이썬] 1427번 소트인사이드 (0) | 2022.11.08 |