아주 기본적인 것들을 충실하게 물어본 문제다. 이런 컴팩트한 문제..! 너무 좋음
정렬을 하는데 조건이 2개 이상이면 이중 for 문이나 if 문을 사용해도 되지만, lambda 함수를 사용하여 깔끔하게 정리할 수 있다.
이 문제를 풀기 위해 알아야 하는 파이썬 기초 개념
- lambda(익명함수)
- set 자료형은 중복을 제거할 수 있으나, 순서가 없기 때문에 list(set(arr)) 형식으로 종종 사용된다. (정렬이 필요할 때)
- set 자료형은 순서가 없기 때문에 정렬이 불가능하기 때문이다.
- python sort와 sorted 차이
💻 전체 코드
n = int(input())
arr = []
for _ in range(n):
arr.append(input())
# 집합은 순서가 없음
arr = list(set(arr))
arr.sort(key = lambda s : [len(s), s])
print('\n'.join(arr))
'PS > BOJ&Programmers' 카테고리의 다른 글
[백준/1436] 영화감독 숌 (0) | 2023.01.22 |
---|---|
[백준/4949] 균형잡힌 세상 ( 파이썬 ) (0) | 2023.01.21 |
[백준/14592] 2017 아주대학교 프로그래밍 경시대회(small) - 파이썬 (2) | 2023.01.18 |
[백준/13424] Three Dots / 완전탐색 - 파이썬 (0) | 2023.01.17 |
[백준/12759] 틱! 택! 토! - 파이썬 (1) | 2023.01.17 |