https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ec17a3b2-5586-4315-a5fa-d4b28f968a66/KakaoTalk_20200706_152540245.png

라이캣 대리인 10명을 만들어 여행에 필요한 물품을 알아서 구해오도록 시킬 생각입니다. 물론 자신도 직접 뛰어 물품을 구할 생각이에요.

"물론 혼자서도 할 수 있지만 기회비용을 생각했을 때, 최선의 결과를 도출하기 위해 대리인을 만드는 것이 좋겠다냥!"

라이캣은 각각의 대리인들이 비교우위를 점하지 않기 때문에 일을 적절하게 분배하기로 했습니다.

  1. 대리인 10명을 생성하세요!

    아래 코드를 참고하여 물건을 구할 대리인을 설계하십시오.

    class 대리인(object):
        pass
    
    대리인_그룹 = []
    for name in range(10):
        대리인_그룹.append(대리인(str(name)))
    
    

    → 대리인의 이름은 0, 1, 2, 3, 4...9로 10명입니다!

    → 경비를 구하는 기능이 있습니다. 아래와 같이 입력했을 때, 시간당 100만 노드를 버는 메서드를 만들어주세요.

    인스턴스이름.경비구하기('10시간')
    

    → 물건을 구하는 기능이 있습니다. 아래와 같이 입력을 했을 때, 시간당 필요 물품 1개를 구해오는 메서드를 만들어주세요. 물품은 클래스 변수로, 모두가 공유합니다.

    #[In]
    인스턴스이름.물품구하기('3시간')
    인스턴스이름.물품
    
    #[Out]
    ['대리인이 구해온 물품 1', '대리인이 구해온 물품 2', '대리인이 구해온 물품 3']
    
  2. 대리인에게 스킬 추가하기!

    아래와 같은 코드가 있었다고 하였을 때 이 대리인의 모든 스킬 합을 구하십시오. 또, 스킬을 추가해주는 메서드를 만들어주세요!

    class 대리인(object):
        이름 = '라이캣의 대리인'
        대리인_목록 = []
        훈장 = [
              '백상아리를 잡은 고양이',
              '성실한 납세자',
              '해골섬 낚시꾼',
              '청년 고용 착한 기업',
              '회사를 설립한 자',
              '혈통의 인정을 받은 자',
              '천민을 위한 병원을 세운 자'
              ]
        기술 = {
            '회사운영': 99,
            '낚시' : 96,
            '통발' : 93,
            '큰그물' : 95,
            '재무' : 34
            }
            
        def __init__(self, name):
            self.대리인_목록.append(name)
            self.이름 = name
        
        def 계산하기(self, x):
            print(int(x)*5000, '원 입니다.')
        
        def 포장하기(self):
            print('포장이 완료되었습니다.')
    
  3. 진화된 대리인!

    라이캣은 자신과 같이 일하는 좀 더 진화된 대리인을 원했습니다. 아래 기능을 도입하여 좀 더 진화된 대리인을 만들어 봅시다. 각각에 메서드는 자유롭게 구현해보세요.

    진화된_대리인1.던전탐험('진홍의 목걸이')
    진화된_대리인2.위험판단('위험')
    진화된_대리인2.위험판단('평범')
    진화된_대리인2.위험판단('긴장감 고조')