Study/BAEKJOON

[BAEKJOON] 1181. 단어 정렬

줴림 2025. 7. 15. 01:08


[백준 1181번: 단어 정렬]
👉 https://www.acmicpc.net/problem/1181

 

이런 단어 정렬 문제가 너무 싫다! 왜냐하면, 항상 풀어도 익숙해지지 않기 때문에!!! 결국 인터넷과 질문게시판의 도움을 받아서 문제를 풀었다. 계속 파이썬은 문자열끼리 알파벳 순서로 비교가 가능하다는 걸 까먹는다... 제발 기억 좀 하자.

'''
문제: 알파벳 소문자로 이루어진 N개의 단어가 들어오면 다음과 같은 조건으로 정렬하기.
    1. 길이가 짧은 것부터
    2. 길이가 같으면 사전 순으로
    3. 중복된 단어는 하나만 남기고 제거하기 => set() 사용하면 됨
'''

N = int(input())    # 단어의 개수
words = [input() for _ in range(N)]

words = list(set(words))

words.sort(key=lambda x:(len(x), x))        # 파이썬은 문자열끼리 알파벳 순서로 비교가 가능하다...

for word in words:
    print(word)

 

[구현 시도 중 놓친 부분들]

  • lambda 함수를 쓸 생각도 못했다. 반성하자.