1회차: input()과 print()를 사용 + dictionary 사용
name_status_dict = {}
num = int(input())
for i in range(num):
name, status = input().split()
name_status_dict[name] = status
names = [k for k, v in name_status_dict.items() if v == "enter"]
names.sort()
for v in reversed(names):
print(v)
2회차: sys.std.readline + set 사용 (값이 leave인 건 바로 삭제)
import sys
input = sys.stdin.readline
entering = set()
for _ in range(int(input())):
name, status = input().split()
if status == "enter":
entering.add(name)
else:
entering.discard(name)
for name in sorted(entering, reverse=True):
print(name)
3회차: sys.stdout.write 사용
import sys
input = sys.stdin.readline
entering = set()
for _ in range(int(input())):
name, status = input().split()
if status == "enter":
entering.add(name)
else:
entering.discard(name) # remove랑 같은 기능인데 error x
for name in sorted(entering, reverse=True):
sys.stdout.write(name)
sys.stdout.write("\n")
자료구조 dictionary는 속도 면에서는 많이 느리다.. 프로젝트할 때는 정말 좋다.