Algorithm/BaekJoon

[백준/Python] 7785번 - 회사에 있는 사람

빵빵0 2023. 9. 30. 15:57
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)