처음에 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)))
'백준' 카테고리의 다른 글
[백준] 2164번 파이썬 (카드2) (0) | 2024.02.19 |
---|---|
[백준] 1929번 파이썬 (소수 구하기) (0) | 2024.02.18 |
[백준] 1874번 파이썬 (스택 수열) (0) | 2024.02.18 |
[백준] 1654번 파이썬 (랜선 자르기) (0) | 2024.02.18 |
[백준] 18870번 파이썬 (좌표 압축) (0) | 2024.02.11 |