본문 바로가기
백준

[백준] 7785번 파이썬 (회사에 있는 사람)

by 헤이즐넛 좋아하는 개발자 2024. 2. 12.

처음에 set 개념을 사용해서 풀었다.

import sys
input = sys.stdin.readline

s = set()

n = int(input().rstrip())

for i in range(n):
    name, el = input().split()
    if el == 'enter':
        s.add(name)
    else:
        s.discard(name)

lst = []
lst = list(s)
lst.sort(reverse=True)

for i in lst:
    print(i)

dict를 사용한 더 효율적인 방법이 있을까 하다가 코드를 작성했다. => 확실히 코드 돌아가는 시간이 줄어들었음

import sys
input = sys.stdin.readline

dct = {}

n = int(input().rstrip())

for _ in range(n):
    name, el = input().rstrip().split()
    if el == 'enter':
        dct[name] = True
    else:
        del dct[name]

print('\n'.join(sorted(dct.keys(), reverse=True)))