https://www.acmicpc.net/problem/1181
lst = []
for _ in range(int(input())):
lst.append(input())
lst = list(set(lst))
lst.sort()
lst.sort(key = lambda x: len(x))
print(*lst, sep="\n")
import sys
input = sys.stdin.readline
lst = []
for _ in range(int(input())):
lst.append(input().strip())
lst = list(set(lst))
lst.sort()
lst.sort(key=lambda x: len(x))
print(*lst, sep="\n")
input()
만 sys.stdin.readline()
으로 변경했다. (-500ms).sort()
를 다음의 방식으로 바꿔쓸 수 있으나, 채점 결과 이 코드가 제일 빨랐다. .sort(key = lambda x: len(x))
-> .sort(key=len)
(+4ms)lst.sort(), lst.sort(key=lambda x: len(x))
-> lst.sort(key=lambda x: (len(x), x))
(+8ms)import sys
input = sys.stdin.readline
lst = []
for _ in range(int(input())):
lst.append(input().strip())
lst = list(set(lst))
lst.sort()
lst.sort(key=lambda x: len(x))
print("\n".join(lst))
join()
으로 바꾸어줬다. (-8ms)import sys
input = sys.stdin.readline
arr = {input().strip() for _ in range(int(input()))}
arr = sorted(arr)
arr = sorted(arr, key=lambda x: len(x))
print("\n".join(arr))
list -> set -> list
로 형변환하는 과정 없이, set comprehension
으로 입력 받고 정렬한다.set
에서는 list
와 달리 .sort()
를 지원하지 않아 sorted()
를 사용했다.sys.stdin.readline()
을 사용하자.unpacking
보다는 "\n".join()
을 사용하자.