인프런 커뮤니티 질문&답변
이 코드도 괜찮을까요?
작성
·
314
0
def dp(arr):
dy = [0]*(len(arr))
dy[0] = 1
for i, num in enumerate(arr):
if i == 0: continue
if num == max(arr[:i+1]): dy[i] = dy[i-1] + 1
else: dy[i] = dy[i-1]
return dy[-1]
퀴즈
71%나 틀려요. 한번 도전해보세요!
동적 계획법(Dynamic Programming)의 핵심 아이디어는 무엇일까요?
문제를 가능한 모든 경우를 탐색하여 최적해를 찾습니다.
현재 상태에서 가장 좋은 선택만을 따라갑니다.
큰 문제를 작은 부분 문제로 나누어 해결하고 그 해답을 재사용합니다.
데이터를 정렬하여 검색 성능을 최적화합니다.
답변 1
0
김태원
지식공유자
안녕하세요^^
반례입니다.
arr=[3, 1, 2, 5, 4, 6]
파이썬은 들여쓰기가 되어 있지 않으면 제가 답변하기 너무 힘듭니다. 다음부터 코드를 올리실때는 {;}버튼을 이용하여 올려주시면 감사하겠습니다.





