<BOJ 1181> 단어 정렬

pastafromvictoriadesert·2023년 4월 3일
0

BOJ

목록 보기
5/12
post-thumbnail

백준 1181번 바로가기

📌백준 1181번 단어 정렬

n개의 단어가 입력되면 중복되는 단어는 제거하고, 길이가 짧은 순서로, 만약 길이가 같다면 사전 순으로 정렬해서 출력하는 문제이다.

정렬하는 로직을 직접 구현하는 것은 매우 어렵지만, Python에는 lambda식이 있어서 매우 편하게 구현할 수 있다.

전체코드

import sys
input = sys.stdin.readline

n = int(input())
s = { }
for i in range(n):
    temp = str(input().strip())
    s[temp] = 1

arr = sorted(s, key= lambda x: (len(x), x))
for i in arr:
    print(i)

📌고찰

  • 언어의 내장함수를 사용한다면 문제풀이는 쉬워지지만, 직접 로직을 구현해보고 이해하는 과정이 필요하다.
  • lambda식에 (x1, x2)처럼 key가 여러개일 경우, 왼쪽부터 순서대로 우선순위라고 생각하면 된다.

0개의 댓글

관련 채용 정보