습관을 애정한다

Code Signal: Intro=39/60

by 습관중독
def knapsackLight(value1, weight1, value2, weight2, maxW):
    if maxW >= weight1+weight2: 
        return value1 + value2
    elif maxW < weight1+weight2:
        if maxW >= weight1 and maxW >= weight2:
            return max(value1, value2)
        elif maxW >= weight1 and maxW < weight2:
            return value1
        elif maxW >= weight2 and maxW < weight1:
            return value2
        elif maxW < weight2 and maxW < weight1:
            return 0

메모장에 대충 떠오르는 조건들 써넣는 방식으로 할 땐 5/8개만 통과되고
3개 정도가 자꾸 통과되지 않아 자꾸 예외처리만 해서 대충 어거지로 통과하려하니까
코드만 길어지고 지저분해졌다.

조건문 체계 구조화하지 않으면 안될 것 같아서
코드 싹 다 지우고 엑셀로
경우의 수를 나누어 조건문 구조를 체계화하니까
한번에 풀렸다.

 

'코드 파이트(Code Signal)' 카테고리의 다른 글

Code Signal: Intro=41/60 (포기)  (0) 2020.02.22
Code Signal: Intro=40/60  (0) 2020.02.22
Code Signal: Intro=38/60  (0) 2020.02.22
Code Signal: Intro=37/60  (0) 2020.02.22
Code Signal: Intro=36/60  (0) 2020.02.22

블로그의 정보

습관을 애정한다

습관중독

활동하기