[파이썬/Python/백준 알고리즘] 7785. 회사에 있는 사람

SooYeon Yeon·2021년 10월 6일
0

파이썬/알고리즘

목록 보기
2/35

문제

시간 초과 실패

import sys
n = int(sys.stdin.readline())
result=[]
for i in range(n):
    s = sys.stdin.readline().split()
    if s[1] == 'enter':
        result.append(s[0])
    else:
        result.remove(s[0])

for i in sorted(result,reverse=True):
    print(i)

이런식으로 리스트를 만들고, append와 remove를 사용했는데 시간초과가 났다.

딕셔너리로 수정

import sys
n = int(sys.stdin.readline())
people={}
for i in range(n):
    name, status = sys.stdin.readline().split()
    if status == 'enter':
        people[name] = 'enter'
    else:
        if people[name]: # 이미 딕셔너리 안에 있는거면
            del people[name]

for i in sorted(people,reverse=True):
    print(i)

딕셔너리를 이용해 시간초과를 해결했다.

0개의 댓글