백준 7785

yun·2025년 4월 18일
0

Python

목록 보기
16/16

1회차: input()과 print()를 사용 + dictionary 사용

name_status_dict = {}

num = int(input())

for i in range(num):
    name, status = input().split()
    name_status_dict[name] = status

names = [k for k, v in name_status_dict.items() if v == "enter"]

names.sort()

for v in reversed(names):
    print(v)

2회차: sys.std.readline + set 사용 (값이 leave인 건 바로 삭제)

import sys

input = sys.stdin.readline

entering = set()

for _ in range(int(input())):
    name, status = input().split()
    if status == "enter":
        entering.add(name)
    else:
        entering.discard(name)

for name in sorted(entering, reverse=True):
    print(name)

3회차: sys.stdout.write 사용

import sys

input = sys.stdin.readline

entering = set()

for _ in range(int(input())):
    name, status = input().split()
    if status == "enter":
        entering.add(name)
    else:
        entering.discard(name)  # remove랑 같은 기능인데 error x

for name in sorted(entering, reverse=True):
    sys.stdout.write(name)
    sys.stdout.write("\n")

자료구조 dictionary는 속도 면에서는 많이 느리다.. 프로젝트할 때는 정말 좋다.

0개의 댓글