https://www.acmicpc.net/problem/1181
아주 기본적인 것들을 충실하게 물어본 문제입니다.
정렬을 하는데 조건이 2개 이상이면 이중 for 문이나 if 문을 사용해도 되지만, lambda 함수를 사용하여 깔끔하게 정리할 수 있습니다.
이 문제를 풀기 위해 알아야 하는 파이썬 기초 개념
- set 자료형은 중복을 제거할 수 있으나, 순서가 없기 때문에 list(set(arr)) 형식으로 종종 사용된다. (정렬이 필요할 때)
- set 자료형은 순서가 없기 때문에 정렬이 불가능하기 때문이다.
- 익명 함수(lambda)
- 파이썬 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))
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/C++] 1673 치킨 쿠폰 (0) | 2023.01.22 |
---|---|
[백준] #2828 사과 담기 게임 (0) | 2023.01.22 |
[백준/python] 6502 동혁피자 (0) | 2023.01.21 |
[백준/python] 1302 베스트셀러 (0) | 2023.01.21 |
[백준/C++] 6996 애너그램 (0) | 2023.01.21 |