728x90
🔗 Problem Link
https://www.acmicpc.net/problem/7785
❔Thinking
- 주어진 N개의 회사 출퇴근 log를 통해, 현재 회사에 남아 있는 사람의 이름을 출력한다.
- 대소문자를 구분하여 다른 이름으로 취급한다.
- 결과는 사전순의 역순으로 출력한다.
💻Solution
import sys
input = sys.stdin.readline
n = int(input().rstrip())
member = {}
for _ in range(n):
name, state = input().split()
if state == 'enter':
member[name] = 1
elif state == 'leave':
del member[name]
now_in_company = sorted(member.keys(), reverse=True)
for name in now_in_company:
print(name)
🗝️keypoint
- N이 최대 10^6 이기 때문에, list를 통한 remove는 시간초과가 발생할 수 있다.
- 이름의 사전 순의 역순이기 때문에, a와 A에서는 a가 먼저 나온다.
'코딩테스트 > Python' 카테고리의 다른 글
99클럽 코테 스터디 0일차 TIL (floyd-warshall) (0) | 2024.10.28 |
---|---|
[Baekjoon] 25192. 인사성 밝은 곰곰이 (0) | 2024.06.11 |
[Programmers] Level 2. 타겟 넘버 (0) | 2024.04.07 |
[Programmers] Level 3. 다단계 칫솔 판매 (0) | 2024.04.02 |
[Programmers] Level 2. 점 찍기 (0) | 2024.03.29 |