백준 1181 문제


백준 1181: https://www.acmicpc.net/problem/1181
백준 1181 풀이
이 문제는 sort() 함수를 어떻게 잘 쓸 수 있냐를 물어보는 문제였다. sort에서 key를 활용하면 여러 기준에 따라 동시에 정렬을 진행할 수 있다.
아래와 같은 코드에서, key= lambda x : (여러 조건들) 이렇게 사용하면 된다. 특히 오름차순이 아니고 내림차순으로 하고 싶다면 앞에다가 -만 붙이면 그만이다.
# 1181
# 입력
n = int(input())
lst = []
for _ in range(n):
lst.append(input())
# 중복 제거
lst = list(set(lst))
# 정렬
lst.sort(key= lambda x: (len(x), x))
# 출력
for i in lst:
print(i)
No Responses