도서관


답안 제출

Points: 3
시간 제한: 1.0s
메모리 제한: 256M

문제 유형
허용된 언어
Python

이 문제는 제시된 전후(front와 rear) 코드를 보고, 부족한 부분만 작성해서 제출하면 됩니다.

완성된 코드의 테스트를 위해서는 제시된 코드를 복사해 사용하면 되고, 제출할 때는 작성한 부분의 코드만 제출하세요.


도서관의 방을 추상화하여 Library 클래스를 만들려고 한다.

추상화에 사용된 속성과 연산을 참고하여 문제의 입출력을 만족하는 클래스를 완성하시오.

  • 속성 : 방 이름, 최대 인원수, 현재 인원수, 방 목록
  • 연산 : 입장하기, 퇴장하기, 방 정보 출력하기
    • 단, 방 정보를 출력할 땐 방이 입력된 순서대로 출력한다.

입력 설명

첫 줄에 방 생성 데이터의 수 n과 출입 데이터의 라인 수 m이 입력된다.

이후 n줄 동안 방 이름, 최대 인원수 정보가 공백으로 구분되어 입력된다.

다음 줄부터 m줄 동안 방 이름, 입장 또는 퇴장을 나타내는 코드, 인원이 공백으로 구분되어 입력된다.

코드가 0이면 입장, 1이면 퇴장을 의미한다.

단, n은 10 이하이며, m은 20 이하이다.

현재 인원수가 0 미만이 되는 퇴장과 현재 인원수가 최대 인원수를 초과하는 입장은 허용되지 않는다.

즉, 현재 인원보다 퇴장 인원이 많으면 아무도 나가지 않으며, 현재 남은 자리가 2명인데 3명이 들어오면 아무도 들어가지 않는다.

출력 설명

모든 방의 방 이름, 현재 인원수를 출력한다.

입력 예시

2 4
readingroom 20
studyroom 8
readingroom 0 10
readingroom 1 3
studyroom 0 8
studyroom 1 2

출력 예시

readingroom 7
studyroom 6

Hidden Code (rear)

n, m = list(map(int, input().split()))

for i in range(n):
    a, b = input().split()
    Library(a, int(b))

for i in range(m):
    a, b, c = input().split()
    if b == '0':
        Library.enter(a, int(c))
    elif b == '1':
        Library.exit(a, int(c))

for room in Library.inst_list:
    room.print_info()

코멘트

현재 작성된 코멘트가 없습니다.