반응형
1. 문제
N개의 단어를 아래와 같이 정렬하는 프로그램을 작성하시오
1. 길이가 짧은 것부터
2. 길이가 같으면 사전 순으로
단, 중복된 단어는 하나만 남기고 제거한다
단어의 개수 1 <= N <= 20,000
2. 접근 방식
Python 내장 함수 sort() or 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)
반응형
'알고리즘' 카테고리의 다른 글
[백준] 9663 N-Queen Python (2) | 2024.09.16 |
---|---|
[백준] 2309 일곱난쟁이 Python (1) | 2024.09.14 |
[백준] 1110 더하기 사이클 Python (0) | 2024.09.12 |
[백준] 2571 수 정렬하기2 Python (0) | 2024.09.10 |
[백준] 2750 수 정렬하기 Python (0) | 2024.09.10 |