https://www.acmicpc.net/problem/7785
set ์๋ฃํ์ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฌธ์ ์ด๋ค.
๋ฐ์ดํฐ์ ์๊ฐ ์ต๋ 10 ** 6์ด์ด์ ๋น ๋ฅธ ์ ์ถ๋ ฅ์ ์ฌ์ฉํ์ง ์๊ฑฐ๋ list๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ ์ด๊ณผ๊ฐ ๋๋ค.
at_company๋ผ๋ set ์๋ฃํ์ ์์ฑํด ์คฌ๋ค.
ํ ์ค์ฉ input์ ๋ฐ์ผ๋ฉด์ ๋ง์ฝ ์ถ๊ทผ์ ํ๋ค๋ฉด at_company์ add ํด์ฃผ๊ณ , ํด๊ทผ์ ํ๋ค๋ฉด at_company์์ remove ํด์ค๋ค.
์ต์ข ์ ์ผ๋ก๋ ํ์ฌ ํ์ฌ์ ๋จ์์๋ ์ฌ๋๋ค๋ง at_company์๋ ๋จ์ ์์ ๊ฒ์ด๋ค.
์ฌ์ ๋ฐฐ์ด ์ญ์์ผ๋ก ์ถ๋ ฅํ๋ผ๊ณ ํ์ผ๋๊น list๋ก ์ฎ๊ฒจ ์ ๋ ฌ์ ํด์ค๋ค.
์ด๋ฆ์ ํ ์ค์ฉ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
from sys import stdin
N = int(input())
at_company = set() # ํ์ฌ์ ์๋ ์ฌ๋ ์ ์ฅ
for _ in range(N): # ์
๋ ฅ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
name, status = stdin.readline().rstrip().split()
if status == "enter":
at_company.add(name)
elif status == "leave":
at_company.remove(name)
# ๋ต ์ ๋ ฌํด์ ์ถ๋ ฅ
answer = list(at_company)
answer.sort(reverse=True)
for i in range(len(answer)):
print(answer[i])
'๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 27212 ๋ฏธํ - ํ์ด์ฌ (4) | 2023.01.14 |
---|---|
๋ฐฑ์ค 1002 ํฐ๋ - ํ์ด์ฌ (2) | 2022.12.30 |
๋ฐฑ์ค 2839 ์คํ ๋ฐฐ๋ฌ - ํ์ด์ฌ (0) | 2022.12.29 |
๋ฐฑ์ค ์ ์ถ๋ ฅ - ํ์ด์ฌ (0) | 2022.11.29 |
๋ฐฑ์ค 1406 ์๋ํฐ - ํ์ด์ฌ (0) | 2022.11.27 |