728x90
n = int(input())
word = []
for i in range(n):
word.append(input()) #1
set_word = list(set(word)) #2
sort_word = []
for i in set_word:
sort_word.append((len(i), i)) #3
result = sorted(sort_word) #4
for len_word, word in result: #5
print(word)
#1 : 입력받은 단어를 word리스트에 추가
#2 : set()함수로 중복값을 제거해주고 리스트화
#3 : 길이와 함께 단어를 sort_word에 추가
$4 : 튜플에선 첫번째 원소를 기준으로 정렬되기 때문에 sort_word를 정렬(그 이후는 사전순으로 오름차순 정렬)
#5 : 길이와 단어를 같이 꺼내고 단어만 출력
문자열과 정렬을 합친 문제인데 아직 이런식의 문제를 해결하는게 어렵다. set()함수와 sort관련 함수를 같이 사용해 줘야 하는데 익숙해지도록 노력해야겠다.
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 1920 파이썬(python) : 수 찾기 - (이분탐색) (0) | 2022.07.04 |
---|---|
[백준] 1259 파이썬(python) : 팰린드롬수 - (문자열 슬라이싱) (0) | 2022.07.04 |
[백준] 1316 파이썬(python) : 그룹 단어 체커 - (★) (0) | 2022.07.03 |
[백준] 2941 파이썬(python) : 크로아티아 알파벳 - (replace함수) (0) | 2022.07.03 |
[백준] 5622 파이썬(python) : 다이얼 - (★) (0) | 2022.07.03 |