DANIELOGIC
[Python] 백준 1181번 단어 정렬 본문
[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번을 사용해서 문제를 풀었다.
백준 문제를 풀 때는 시간 복잡도를 고려하는 것이 매우 중요하다.
'Algorithm > 백준' 카테고리의 다른 글
| [Python] 백준 1920번 수 찾기 (2) | 2024.12.24 |
|---|---|
| [Python] 백준 1018번 체스판 다시 칠하기 (0) | 2024.12.24 |
| [Python] 백준 2775번 부녀회장이 될테야 (2) | 2024.09.25 |
| [Python] 백준 2798번 블랙잭 (0) | 2024.09.24 |
| [Python] 백준 2292번 벌집 (0) | 2024.09.24 |