백준 7785번: 회사에 있는 사람

do_sensei_·2023년 10월 4일
0

백준_코딩문제

목록 보기
16/16

📚 백준 7785번: 회사에 있는 사람

📖 문제 개요

회사의 로그가 주어졌을 때, 회사에 남아있는 사람들의 명단을 출력하는 문제입니다. 각 로그에는 이름과 'enter' 또는 'leave'의 상태가 포함되어 있습니다. 문제의 자세한 내용은 여기에서 확인하세요.

🎯 문제 핵심

이 문제의 핵심은 주어진 로그를 바탕으로 현재 회사에 남아있는 사람들의 명단을 효율적으로 파악하고, 그 명단을 사전순의 역순으로 출력하는 것입니다.

✏️ 해결 방법

Python의 set 자료구조를 사용하여 효율적으로 문제를 해결합니다.

import sys
input = sys.stdin.readline

n = int(input())

company = set()

for _ in range(n):
    n, s = input().split()
    if s == 'enter':
        company.add(n)
    else:
        company.remove(n)

company = sorted(company, reverse=True)
for c in company:
    print(c)

📝 코드 설명

  1. 로그의 개수 ( n )을 입력받습니다.
  2. 회사에 남아있는 사람들의 명단을 저장할 company라는 set을 초기화합니다.
  3. 각 로그를 입력받아 namestatus로 분리합니다.
    • 만약 status가 'enter'이면, 해당 namecompany에 추가합니다.
    • 'leave'인 경우, 해당 namecompany에서 제거합니다.
  4. company를 사전순의 역순으로 정렬합니다.
  5. 정렬된 company의 내용을 출력합니다.

🚀 실행 방법

위의 코드를 복사하고 Python 환경에서 실행하세요. sys.stdin.readline()은 입력을 빠르게 받기 위한 함수입니다.

0개의 댓글