리스트에
append
와remove
를 이용해서 요소를 추가, 제거하는 간단한 문제라고 생각하여 그대로 코드를 작성했지만 시간초과가 발생했다.
import sys
n = int(input())
company_employee = []
for _ in range(n):
employee, status = map(str, sys.stdin.readline().strip().split())
if status == "enter":
company_employee.append(employee)
else:
company_employee.remove(employee)
company_employee.sort(reverse=True)
for i in company_employee:
print(i)
전에 풀었던 문제에서
set
자료형이list
자료형보다 시간 복잡도 측면에서 효율성이 좋다고 했던 사실을 기억하여 문제를set
으로 바꿔서 풀어보았다.
import sys
n = int(input())
company_employee = set()
for _ in range(n):
employee, status = map(str, sys.stdin.readline().strip().split())
if status == "enter":
company_employee.add(employee)
else:
company_employee.remove(employee)
company_employee = sorted(company_employee, reverse=True)
for i in company_employee:
print(i)