You can use expiration action:
Define when objects expire. Amazon S3 deletes expired objects on your behalf.
You can set expiration time to 5 days or 1 day, or what suits you. For example, for a version bucket you can delete both current and previous versions after 5 days as shown on the screenshot:
Regarding the storage classes. You can still delete the objects, but you will be charged for 30, 90 or 180 days, depending on the storage class, if not deleting from the Standard class:
If you create an S3 Lifecycle expiration rule that causes objects that have been in S3 Intelligent-Tiering, S3 Standard-IA, or S3 One Zone-IA storage for less than 30 days to expire, you are charged for 30 days. If you create a Lifecycle expiration rule that causes objects that have been in S3 Glacier storage for less than 90 days to expire, you are charged for 90 days. If you create a Lifecycle expiration rule that causes objects that have been in S3 Glacier Deep Archive storage for less than 180 days to expire, you are charged for 180 days.