Development Artist

[COS Pro 1급, Python] 2차 1번 : 도서 대여점 운영 본문

Algorithm/COS

[COS Pro 1급, Python] 2차 1번 : 도서 대여점 운영

JMcunst 2022. 2. 25. 09:55
728x90
반응형

문제 유형

빈칸

난이도

easy

Note 

 1. 파이썬의 Class, def, self

 

Code

# -*- coding: utf-8 -*-
# UTF-8 encoding when using korean
# 2차 1번
from abc import *

class Book(metaclass=ABCMeta):
	@abstractmethod
	def get_rental_price(self, day):
		pass

class ComicBook(Book):
	def get_rental_price(self, day):
		cost = 500
		day -= 2
		if day > 0:
			cost += 200*day
		return cost

class Novel(Book):
	def get_rental_price(self, day):
		cost = 1000
		day -= 3
		if day > 0:
			cost += 300*day
		return cost

def solution(book_types, day):
	books = []
	for types in book_types:
		if types == "comic":
			books.append(ComicBook())
		elif types == "novel":
			books.append(Novel())
	total_price = 0
	for book in books:
		total_price += book.get_rental_price(day)
	return total_price

book_types = ["comic", "comic", "novel"]
day = 4
ret = solution(book_types, day)

print("solution 함수의 반환 값은", ret, "입니다.")

 

※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.

728x90
반응형
Comments