알고리즘

[백준] 1181 단어 정렬 Python

아람2 2024. 9. 13. 16:31
반응형

 

1.  문제

N개의 단어를 아래와 같이 정렬하는 프로그램을 작성하시오
1. 길이가 짧은 것부터
2. 길이가 같으면 사전 순으로
단, 중복된 단어는 하나만 남기고 제거한다 
단어의 개수 1 <= N <= 20,000 

https://www.acmicpc.net/problem/1181

 

2. 접근 방식

Python 내장 함수 sort() or sorted() 사용

 + sorted() 포스팅 

 

3. 전체 코드

# 1. 길이가 짧은 것부터
# 2. 길이가 작으면 사전 순으로
# 알파벳 소문자로 이루어진 N개의 단어 정렬 (1 <= N <= 20,000)

# 단어의 개수 N
# 단어 리스트 data_list 

# N 입력 받기
N = int(input())
data_list = []

# 데이터 한 줄씩 입력 받기 
for i in range(N):
    data_list.append(input().strip())

# 중복 제거 
data_list = list(set(data_list))

# 정렬
data_list.sort()
# 길이대로 정렬 
data_list.sort(key=lambda x: len(x))

# 한 줄씩 출력 
for word in data_list:
    print(word)

 

 

 

 

 

반응형