증가하는 수열 응용문제
192
작성한 질문수 5
안녕하세요 강사님.
질문에 앞서 강좌문제가 아닌 문제를 질문하여 죄송합니다.
증가하는 수열 문제를 응용한 문제를 백준(#14002)에서 풀어보았는데 답이 틀렸다고 나와서 질문드립니다.
제가 코드를 짜보았을때 반례는 이상이 없어보였습니다. 혹시 반례나 코드가 틀린부분이 있다면 조언 부탁드리겠습니다.
문제는 대략적으로 강사님께서 풀어주신 문제가 단순히 길이만을 나타내는 문제라면, 이 문제는 길이뿐아니라 순열까지 나타내는 문제입니다.
도움 주시면 감사합니다.
문제링크 ( https://www.acmicpc.net/problem/14002 )
import sys sys.stdin = open('input.txt','rt') n = int(input()) arr = list(map(int,input().split())) arr.insert(0,0) dp = [[0]*(2) for _ in range(n+1)] dp[0][1]=[] dp[1][0] = 1 dp[1][1]=[arr[1]] for i in range(2,n+1): max=0 c=[arr[i]] for j in range(i-1,-1,-1): if arr[i]>arr[j] and dp[j][0]>max: max = dp[j][0] b=dp[j][1] c=b+[arr[i]] elif arr[i]==arr[j]: b=dp[j][1] c=b dp[i][0] = max+1 dp[i][1] = c res=0 for i in range(1,n+1): if dp[i][0] > res: res = dp[i][0] for i in range(1,n+1): if dp[i][0] == res: print(dp[i][0]) for j in range(len(dp[i][1])): print(dp[i][1][j],end=' ') print() break #for x in dp: #print(x)
답변 1
0
안녕하세요^^
백준에서 채점이 안나오는 것은 저도 잘 모르겠습니다. 본인 코드이니 스스로 시간이 많이 걸리더라도 스스로 찾는게 좋을 것 같습니다.
위에 코드가 조금 복잡해보이기는 합니다. 영상 설명 코드에서 수열까지 출력하는 코드를 조금 더 붙여보았습니다. 14002문제는 입력수열의 길이가 1도 들어오는 res=1 초기화했습니다.
import sys
sys.stdin = open("input.txt", 'r')
n=int(input())
arr=list(map(int, input().split()))
arr.insert(0,0)
dy=[0]*(n+1)
dy[1]=1
res=1
for i in range(2, n+1):
max=0
for j in range(i-1, 0, -1):
if arr[j]<arr[i] and dy[j]>max:
max=dy[j]
dy[i]=max+1
if dy[i]>res:
res=dy[i]
print(res)
answer=[]
for i in range(n, 0, -1):
if(dy[i]==res):
answer.append(arr[i])
res-=1
answer.reverse()
for x in answer:
print(x, end=' ')
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
1
78
2
스택에서 ')'을 만나는 경우
0
80
3
문제가 어디있나요?
0
67
2
변수 or 함수명
0
62
1
침몰하는 타이타닉 문제 질문입니다
0
59
1
AA.py 책점 에러
0
60
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
110
1
아나그램 비교 코드
0
116
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
161
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
166
2
동적계획법은 사용하는 문제
0
126
2
제 코드 좀 봐주세요
0
148
1
예외가 존재할 가능성?
0
97
1
3번이 안풀립니다
0
95
0
5번 틀림
0
115
0
오류원인?
0
99
0
리스트 선언
0
108
1
침몰하는 타이타닉(그리디) 문제 질문
0
111
1
알고리즘
0
70
1
코딩테스트
0
93
1
DFS 순서 질문드립니다.
0
129
2
left, right를 사용한 풀이법에 대한 질문입니다
0
91
1





