Algorithm/백준 알고리즘_Python
[알고리즘][Python] 백준(BOJ) 7785 회사에 있는 사람_파이썬
알파이
2020. 10. 7. 08:14
7785 회사에 있는 사람 www.acmicpc.net/problem/7785
7785번: 회사에 있는 사람
첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 �
www.acmicpc.net
문제 풀기 전 공부할 것 : 자료구조, 해시를 사용한 집합과 맵
풀이
<내용>
- 회사에 출근을 하고 나서 퇴근을 한다.
- 따라서 enter인 경우는 log에 value가 1로 저장을 한다.
- leave인 경우는 log에 value 1에서 0으로 바꾼다.
- log를 for문으로 돌면서 아직 퇴근하지 않은 직원을 names에 저장한다.
- names를 사전 순의 역순으로 정렬하고 출력한다.
<코드>
import sys
input = sys.stdin.readline
n = int(input())
log = {}
for _ in range(n):
name, state = input().rstrip().split()
if state == 'enter':
log[name] = 1
else:
log[name] = 0
names = []
for name in log:
if log[name] == 1:
names.append(name)
names.sort(reverse=True)
for name in names:
print(name)
728x90
반응형