import sys
input = sys.stdin.readline
manage = {}
for _ in range(int(input())):
employee, status = input().rstrip().split()
if employee in manage and status == 'leave':
del manage[employee]
else:
manage[employee] = 1
print(*sorted(manage.keys(), reverse=True), sep='\n')
해시맵, 파이썬의 딕셔너리로 풀면 간단하게 해결되는 문제다.
답을 출력할 때 포인터와 sep 파라미터를 이용하여 간단하게 출력했다.
시간 복잡도
입력받은 n만큼 로그 기록을 살펴봐야함: for문
=> O(n)
'Algorithm > BaekJoon' 카테고리의 다른 글
[백준/Python] 10845번 - 큐 (0) | 2023.10.01 |
---|---|
[백준/Python] 16200번 - 해커톤 (0) | 2023.09.30 |
[백준/Python] 2164번 - 카드 2 (0) | 2023.09.30 |
[백준/Python] 15988번 - 1, 2, 3 더하기 3 (0) | 2023.09.29 |
[백준/Python] 2748번 - 피보나치 수 2 (0) | 2023.09.29 |