문제
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
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 1302번(파이썬): 베스트셀러 (0) | 2021.10.12 |
---|---|
[baekjoon] 백준 2161번(파이썬): 카드1 (0) | 2021.10.11 |
[baekjoon] 백준 4195번(파이썬): 친구 네트워크 (0) | 2021.10.10 |
[baekjoon] 백준 11652번(파이썬): 카드 (0) | 2021.10.09 |
[baekjoon] 백준 5052번(파이썬): 전화번호 목록 (0) | 2021.10.08 |