Algorithm Study/Python

[백준 파이썬] #7785 회사에 있는 사람

728x90
반응형

Silver V

# 7785 회사에 있는 사람

https://www.acmicpc.net/problem/7785

 

7785번: 회사에 있는 사람

첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는

www.acmicpc.net

 

풀이

#시간 초과 발생 PyPy3로 채점해서 정답

n = int(input())
com = []

for i in range(n):
    a, b  = input().split()
    if b == 'enter':
        com.append(a)
    elif b == 'leave':
        com.remove(a)

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

 

문제 의도에 따라 PyPy3로 제출해도 괜찮은 것인지 확인할 필요가 있다.

 

알게된 점

  • 유클리드 호제법 풀이에서 참고했던 input().split()을 변수로 직접 받는 방식을 사용해서 간단하게 풀이할 수 있었다.
  • cf. 주피터 노트북에서 sys가 적용되지 않아 속도개선에는 도전하지 못했다. 만약 sys를 사용하지 않는다면 com 변수를 지정하는 코드를 변경해 개선할 수 있을 것 같다 → 이후 코드 리뷰를 하게 된다면 질문해볼 것