alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 7785 회사에 있는 사람_파이썬 본문

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
반응형
Comments