[Python] 백준 1181번 : 단어 정렬
2025. 4. 17. 00:14
99클럽 코테 스터디 | 비기너 | 13일차
import sys
N = int(sys.stdin.readline())
words = set()
for _ in range(N):
word = sys.stdin.readline().strip()
words.add(word)
sorted_words = sorted(words, key=lambda x: (len(x), x))
for word in sorted_words:
print(word)
lambda 함수
익명 함수를 정의할 때 사용하는 키워드로, 이름 없이 간단한 함수를 한 줄로 작성할 수 있게 도와준다.
list나 set 안의 문자열을 정렬할 때 기준을 지정하거나, map()이나 filter()와 함께 사용하거나 일회성으로 함수가 필요할 때 사용한다.
이번 예제에서는 각 단어에 대하여 (len(x), x)를 기준으로 정렬, 즉 (단어의 길이, 단어 자체)를 기준으로 정렬하고 있다. 한마디로, 먼저 단어의 길이에 대하여 먼저 비교하고, 단어의 길이가 같다면 사전순으로 정렬하고 있다.
'코딩테스트 > BOJ' 카테고리의 다른 글
[Python] 백준 25325번 : 학생 인기도 측정 (0) | 2025.04.18 |
---|---|
[Python] 백준 20723번 : 브실이의 입시전략 (0) | 2025.04.18 |
[Python] 백준 25757번 : 임스와 함께하는 미니게임 (0) | 2025.04.15 |
[Python] 백준 2358번 : 평행선 (0) | 2025.04.11 |
[Python] 백준 1158번 : 요세푸스 문제 (0) | 2025.04.09 |