BOJ 1181. 단어 정렬 (Python)
2021. 2. 10. 21:07ㆍProblem Solving/BOJ
BOJ 1181. 단어 정렬
https://www.acmicpc.net/problem/1181
풀이
파이썬의 내장함수 sorted()
나 sort()
를 사용하면 된다.
둘의 차이점은,
sorted()
: 정렬한것을 리턴한다.sort()
: 원본이 정렬 된 것으로 바뀐다. None을 리턴한다.
주목 할 만한 문법은 key
와 reverse
파라미터의 사용이겠다.
key
: 정렬 기준 정해줌reverse
: default는True
이며, True는 오름차순, False는 내림차순이다.
이때 key에 (첫번째 기준, 두번째 기준)
튜플을 넘겨주면 순서대로 기준이 적용되므로 이 문제에선 이렇게 사용하면 되겠다.
lambda
사용하면 쉽다.
소스코드
import sys
words = []
N = int(input())
for _ in range(N):
words.append(sys.stdin.readline().rstrip())
# 정렬
result = sorted(set(words), key=lambda x:(len(x),x))
# 출력
for s in result: print(s)
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
BOJ 10814. 나이순 정렬 (Python) (0) | 2021.02.10 |
---|---|
BOJ 2609. 최대공약수와 최소공배수 (Python) (0) | 2021.02.10 |
BOJ 1018. 체스판 다시 칠하기 (Python) (0) | 2021.02.10 |
BOJ 11050. 이항계수 1 (Python) (0) | 2021.02.10 |
BOJ 2798. 블랙잭 (Python) (0) | 2021.02.10 |