SMALL
https://www.acmicpc.net/problem/7785
7785번: 회사에 있는 사람
첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는
www.acmicpc.net
- 문제풀이
enter인 경우 집합에 넣고 leave인 경우 직원 명단에서 빼준다.
- 코드 1
#-*- coding: utf-8 -*-
from collections import deque
n = int(input()) # 출입 기록의 개수
employees = set() # 직원 명단을 저장할 집합(set) 생성
for _ in range(n):
record = input().split()
name, status = record[0], record[1]
if status == "enter":
employees.add(name) # enter인 경우 직원 명단에 추가
else:
employees.remove(name) # leave인 경우 직원 명단에서 제거
# 직원 명단을 알파벳 역순으로 정렬하여 출력
for employee in sorted(employees, reverse=True):
print(employee)
- 후기
파이썬을 연습하는 단계이다.
LIST
'백준 > 파이썬' 카테고리의 다른 글
[파이썬]백준 29719번: 브실이의 불침번 근무 (0) | 2023.09.25 |
---|---|
[파이썬]백준 2579번: 계단 오르기 (0) | 2023.09.25 |
[파이썬]백준 1931번: 회의실 배정 (0) | 2023.09.25 |
[파이썬]백준 1157: 단어 공부 (0) | 2023.07.20 |