기록하는삶
[코딩 테스트 연습(파이썬/Python)] 백준 1181번 _ 단어 정렬 본문
728x90
반응형
https://www.acmicpc.net/problem/1181
[문제]
알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오.
- 길이가 짧은 것부터
- 길이가 같으면 사전 순으로
[입력]
첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.
[출력]
조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다.
[아이디어]
1) 여러 조건에 대해 sort() 혹은 sorted()를 사용하고 싶은 경우 lambda x에 대한 인자로 여러 함수를 던져주면 된다.
n =int(input())
s = [input() for _ in range(n)]
s = list(set(s))
s.sort(key =lambda x: (len(x),x))
for x in s:
print(x)
728x90
반응형
'백준(Python) > 문자열' 카테고리의 다른 글
[코딩 테스트 연습(파이썬/Python)] 백준 10808번 _ 알파벳 개수 (0) | 2021.12.21 |
---|---|
[코딩 테스트 연습(파이썬/Python)] 백준 1541번 _ 잃어버린 괄호 (0) | 2021.12.18 |
[코딩 테스트 연습(파이썬/Python)] 백준 11721번 _ 열 개씩 끊어 출력하기 (0) | 2021.12.17 |
[코딩 테스트 연습(파이썬/Python)] 백준 11718번 _ 그대로 출력하기1, 2 (0) | 2021.12.17 |
[코딩 테스트 연습(파이썬/Python)] 백준 2941번 _ 크로아티아 알파벳 (0) | 2021.12.17 |