CodingTest/Baekjoon

[baekjoon] 백준 7785번(파이썬): 회사에 있는 사람

JunJangE 2021. 10. 11. 13:15

문제

 

7785번: 회사에 있는 사람

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

www.acmicpc.net

알고리즘

- 반복문을 통해 출입 기록을 확인한다.

- 방문자의 출퇴근 여부를 통해 방문자를 추가하거나 제거한다.

- 사전 순의 역순으로 정렬하여 출력한다.

코드

import sys


n = int(sys.stdin.readline())
temp = dict() # 딕셔너리 형

# 반복문을 통해 출입 기록울 확인한다.
for _ in range(n):
    a, b = map(str, sys.stdin.readline().split())

    # 출입을 했으면 딕셔너리로 받는다.
    if b == "enter":
        temp[a] = b
    # 퇴근을 했으면 삭제해준다.
    else:
        del temp[a]

# 사전 순의 역순으로 정렬한다.
temp = sorted(temp.keys(), reverse=True)

for i in temp:
    print(i)

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com