회사의 로그가 주어졌을 때, 회사에 남아있는 사람들의 명단을 출력하는 문제입니다. 각 로그에는 이름과 'enter' 또는 'leave'의 상태가 포함되어 있습니다. 문제의 자세한 내용은 여기에서 확인하세요.
이 문제의 핵심은 주어진 로그를 바탕으로 현재 회사에 남아있는 사람들의 명단을 효율적으로 파악하고, 그 명단을 사전순의 역순으로 출력하는 것입니다.
Python의 set 자료구조를 사용하여 효율적으로 문제를 해결합니다.
import sys
input = sys.stdin.readline
n = int(input())
company = set()
for _ in range(n):
n, s = input().split()
if s == 'enter':
company.add(n)
else:
company.remove(n)
company = sorted(company, reverse=True)
for c in company:
print(c)
company
라는 set을 초기화합니다.name
과 status
로 분리합니다.status
가 'enter'이면, 해당 name
을 company
에 추가합니다.name
을 company
에서 제거합니다.company
를 사전순의 역순으로 정렬합니다.company
의 내용을 출력합니다.위의 코드를 복사하고 Python 환경에서 실행하세요. sys.stdin.readline()
은 입력을 빠르게 받기 위한 함수입니다.