1181번: 단어 정렬
첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.
www.acmicpc.net
<내 코드>
n = int(input())
words = set()
for i in range(n):
words.add(input())
sortWords = sorted(words, key=lambda x: (len(x), x))
for i in sortWords:
print(i)
단어의 중복을 제거하기 위해 set() 집합을 사용했다. 입력값으로 들어오는 문자열들을 집합에 넣고, sorted 함수를 이용해 각 문자열을 1차로 길이에 따라 정렬하고, 길이가 같다면 2차로 사전의 오름차순으로 정렬하게 코드를 작성했다.
반응형
'알고리즘 문제풀기 > 백준 - Python' 카테고리의 다른 글
[백준 1874] 스택 수열 - Python (0) | 2020.07.24 |
---|---|
[백준 10828] 스택 - Python (0) | 2020.07.24 |
[백준 10814] 나이순 정렬 - Python (0) | 2020.07.22 |
[백준 11651] 좌표 정렬하기2 - Python (0) | 2020.07.21 |
[백준 11650] 좌표 정렬하기 - Python (0) | 2020.07.21 |