[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)를 기준으로 정렬, 즉 (단어의 길이, 단어 자체)를 기준으로 정렬하고 있다. 한마디로, 먼저 단어의 길이에 대하여 먼저 비교하고, 단어의 길이가 같다면 사전순으로 정렬하고 있다.

BELATED ARTICLES

more