Notice
Recent Posts
Recent Comments
Link
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Archives
Today
Total
관리 메뉴

DANIELOGIC

[Python] 백준 1181번 단어 정렬 본문

Algorithm/백준

[Python] 백준 1181번 단어 정렬

daniel; 2024. 12. 24. 17:16

[Python] 백준 1181번 단어 정렬 

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

문제

코드

n = int(input())
l = []

for i in range(n):
    l.append(input())
l = set(l)
l = list(l)
l.sort()
l.sort(key=len)
for x in l:
    print(x)

리뷰

for문을 통해 정렬 알고리즘을 여러번 구현하려고 시도했으나 

출력은 제대로 나왔지만 계속 시간 초과가 떴다. 

다른 사람이 짠 코드를 보니 내가 몰랐던 개념들이 필요했다.

1. sort() 함수에서 key라는 인자로 len을 넘겨주면 글자 수 기준으로 정렬해준다.

2. sort() 함수의 우선순위를 lambda로 정할 수 있다.

다만 람다는 아직 낯설기 때문에 1번을 사용해서 문제를 풀었다.

백준 문제를 풀 때는 시간 복잡도를 고려하는 것이 매우 중요하다.