Section 7-2) 휴가
135
작성한 질문수 12
안녕하세요, 강사님.
제 코드가 지저분하긴 하지만 (L, days라는 변수 두개 씀) 이 로직도 맞는 걸까요?
테스트 돌려보면 예시들은 success로 나오긴 합니다. 근데 확신이 안 서서요..
참고로 저는 t, p 리스트를 인덱스 0부터 시작했습니다.
import sys
sys.stdin=open("input.txt", "r")
def DFS(L, days, income):
global answer
if L>n:
return
if days>n:
return
if days==n:
if answer<income:
answer=income
else:
DFS(L+1, days+t[days], income+p[days])
DFS(L+1, days+1, income)
n=int(input())
t=list()
p=list()
for _ in range(n):
tt,pp=map(int,input().split())
t.append(tt)
p.append(pp)
answer=-214700000
DFS(0,0,0)
print(answer)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
제공된 정보 내에서는 프로그래밍 및 알고리즘 문제 해결에 관한 직접적인 답변을 제공하고 있지 않습니다. 그러나 프로그래밍 학습 및 문제 해결 과정에 있어서 자주 발생할 수 있는 일반적인 조언을 드리겠습니다.
코드의 로직이 예상한 대로 동작하는지 확신이 들지 않을 때, 다양한 케이스를 직접 테스트해보는 것이 중요합니다. 제공하신 코드에 따라 이미 기본적인 테스트는 수행하셨다고 하니, 다음 단계로는 더 다양하고 복잡한 테스트 케이스를 직접 구성해보시는 것을 권장합니다.
또한, 코드의 정확성만큼이나 중요한 것이 코드의 가독성입니다. 변수명이나 함수 구조를 좀 더 명확하게 하여 다른 사람이나 미래의 자신이 코드를 보았을 때 이해하기 쉽게 만드는 것이 좋습니다. ‘L’, ‘days’라는 변수명도 명확한 의미를 전달할 수 있도록 조금 더 구체적인 이름으로 변경하는 것을 고려해보세요.
마지막으로, 재귀 함수를 사용하여 문제를 해결하는 경우에는 재귀의 깊이가 깊어질 때 발생할 수 있는 스택 오버플로우를 고려하여 코드를 작성하는 것이 중요합니다. 주어진 문제의 조건에 따라 최악의 경우에도 안전하게 작동할 수 있도록 설계해야 합니다.
질문하신 내용과 직접적으로 관련된 답변을 드리지 못해 죄송합니다. 더 자세한 도움이 필요하시다면, 해당 강의의 Q&A 섹션을 활용하거나 프로그래밍 커뮤니티에서 질문을 통해 도움을 받아보시기 바랍니다.
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
1
77
2
스택에서 ')'을 만나는 경우
0
78
3
문제가 어디있나요?
0
66
2
변수 or 함수명
0
61
1
침몰하는 타이타닉 문제 질문입니다
0
56
1
AA.py 책점 에러
0
57
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
110
1
아나그램 비교 코드
0
116
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
160
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
165
2
동적계획법은 사용하는 문제
0
126
2
제 코드 좀 봐주세요
0
148
1
예외가 존재할 가능성?
0
97
1
3번이 안풀립니다
0
93
0
5번 틀림
0
114
0
오류원인?
0
98
0
리스트 선언
0
106
1
침몰하는 타이타닉(그리디) 문제 질문
0
109
1
알고리즘
0
69
1
코딩테스트
0
92
1
DFS 순서 질문드립니다.
0
128
2
left, right를 사용한 풀이법에 대한 질문입니다
0
91
1





