함수 실행 횟수 제한 클래스 데코레이터
LMS 서버에는 동일한 작업이 지나치게 많이 실행되지 않도록 함수의 실행 횟수를 제한하는 기능이 필요합니다.
함수에 설정된 최대 실행 횟수를 기억하고, 실행 횟수가 제한에 도달하면 원본 함수를 더 이상 실행하지 않는 클래스 데코레이터 CallLimiter를 작성하세요.
조건 :
1. CallLimiter는 클래스 기반 데코레이터입니다.
2. max_calls는 함수를 실행할 수 있는 최대 횟수입니다.
3. 함수가 정상 실행될 때마다 실행 횟수를 1 증가시킵니다.
4. 실행 횟수가 max_calls에 도달하면 원본 함수를 실행하지 않고 "실행 횟수 제한 초과"를 반환합니다.
5. 원본 함수의 반환값은 그대로 반환합니다.
6. 위치 인자와 키워드 인자를 모두 처리해야 합니다.
7. solution()은 각 요청의 처리 결과를 리스트로 반환합니다.
제한사항:
1 ≤ max_calls ≤ 100
1 ≤ requests의 길이 ≤ 1,000
1 ≤ requests의 원소 ≤ 10,000
출력 결과 :
입력
3, [101, 102, 103, 104, 105]
출력
101번 요청 처리 완료
102번 요청 처리 완료
103번 요청 처리 완료
실행 횟수 제한 초과
실행 횟수 제한 초과