inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

섹션 9 Dynamic Programming (동적 계획법) 최대부분증가수열

113

mg090912347416

1 câu hỏi đã được viết

0

안녕하세요,

최대부분증가수열을 수강한 뒤에 백준에서 유사한 문제를 발견해서 풀었는데
https://www.acmicpc.net/problem/11053

강의에서 배운 그대로 해당 코드를 제출했더니 틀렸다는 답변을 받았습니다..

예제 입력은 맞게 나오는데 다른 테스트 케이스에서 틀린 것 같습니다..

해당 문제에서 놓친 부분이 있을까요..?

N = int(input())
arr = list(map(int, input().split()))

arr.insert(0,0)

dy = [0]*(N+1)
dy[1] = 1
res=0
for i in range(2, N+1):
    max=0
    for j in range(i-1, 0, -1):
        if arr[i] > arr[j] and dy[j]>max:
            max = dy[j]
    dy[i] = max+1
    if dy[i]>res:
        res = dy[i]
print(res)


 

python 코딩-테스트

Câu trả lời 2

0

codingcamp

안녕하세요^^

문제 조건을 보면

"첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다."

입력되는 수열의 길이가 1인 경우도 있습니다.

코드에서 res = 1 로 초기화하면 됩니다.

 

 

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 김민경님,

최대 부분 증가 수열 문제는 종종 코드에서 초기화나 인덱싱 문제로 인해 틀린 결과를 받을 수 있습니다. 보내주신 코드를 바탕으로 몇 가지 사항을 점검해볼 수 있습니다.

  1. 초기화 문제: 시작 부분에서 dy[1] = 1로 초기화하셨는데, 아래와 같은 경우에는 모든 항목의 초기 값을 1로 설정하는 것이 더 일반적입니다. 이는 각 원소가 최소한 그 자체로 길이 1의 부분 수열을 형성하기 때문입니다.
dy = [1] * (N + 1)  # dy[0]는 사용하지 않으므로, 편의상 dy를 N+1로 초기화했다면 처음부터 모두 1로 초기화
  1. 인덱싱: Python의 배열에서는 0부터 인덱스가 시작되어, arr에 0을 추가하는 대신, dyarr가 같은 크기 내부에서 동작하도록 맞추는 것이 중요합니다.

  2. 중복된 변수 사용: max라는 이름이 파이썬 내장 함수와 동일하므로 변수명으로 사용하지 않는 것이 좋습니다. max_length와 같은 명확한 이름을 사용해보십시오.

개선을 통해 문제를 해결해 보세요. 관련하여 유사한 문제 해결에 대한 참고를 위해, 다음의 답변들이 도움이 될 수 있을 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

0

76

2

스택에서 ')'을 만나는 경우

0

77

3

문제가 어디있나요?

0

63

2

변수 or 함수명

0

61

1

침몰하는 타이타닉 문제 질문입니다

0

53

1

AA.py 책점 에러

0

57

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

111

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

108

1

아나그램 비교 코드

0

115

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

159

2

문제 링크가있나여?

0

147

2

채점기 Time Limit Exceeded 오류 문의

1

162

2

동적계획법은 사용하는 문제

0

125

2

제 코드 좀 봐주세요

0

147

1

예외가 존재할 가능성?

0

96

1

3번이 안풀립니다

0

92

0

5번 틀림

0

113

0

오류원인?

0

97

0

리스트 선언

0

106

1

침몰하는 타이타닉(그리디) 문제 질문

0

109

1

알고리즘

0

66

1

코딩테스트

0

88

1

DFS 순서 질문드립니다.

0

120

2

left, right를 사용한 풀이법에 대한 질문입니다

0

88

1