• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

섹션7 휴가

22.09.10 00:19 작성 조회수 98

0

휴가(삼성 sw역량평가 기출문제) 를

저는 dfs(l, time, sum) 3개를 매개변수로 두고 index번호를 날짜로 사용안하고 0부터 가도록 생각해서 풀었는데 예시답안이 60이 나와야하는데 70이 나오는 상황입니다..

강의에서 설명해주신 답은 이해가는데 제가 푼 코드에서는 어떤 부분이 문제인지 모르겠습니다. 어느 부분이 문제인지 알 수 있을까요? 아래에 제 코드 첨부합니다..!

#휴가(삼성 sw역량평가 기출문제 : dfs)
import sys
input = sys.stdin.readline
def dfs(l, time, sum) :
    global res
    if time > n :
        return 
    if l == n: 
        if sum > res :
            res = sum
    else :
        dfs(l+1, time + t[l], sum + p[l])
        dfs(l+1, time, sum)

if __name__ == '__main__' :
    n = int(input())
    t = list()
    p = list()
    res = -2147000000
    
    for i in range(n) :
        a, b= map(int, input().split())
        t.append(a)
        p.append(b)
        
    dfs(0, 0, 0)
    print(res)

답변 1

답변을 작성해보세요.

0

안녕하세요^^

본인 코드는 스스로 버그를 잡는게 좋을 것 같습니다. 그게 큰 공부입니다.