inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

투포인터

LIS/LCS 2번 문제

해결된 질문

212

한혜경

작성한 질문수 6

1

안녕하세요! 질문드립니다~

추가강의 LIS/LCS 2번 문제(#9251)를 백준에서 채점을 하다가 발견한 사실인데요

아래 정답 코드에서

import sys
sys.stdin =  open('/Desktop/dev/BackJoon/추가강의/LIS/9251.txt','r')
sys.setrecursionlimit(999999)
input = sys.stdin.readline

A = str(input())
N = len(A)
B = str(input())
M = len(B)

dp = [[0]*(M+1) for _ in range(N+1)]

for i in range(1,N+1):
    for j in range(1,M+1):
        # if A[:i][-1] == B[:j][-1]:
        if A[i-1] == B[j-1]:
            dp[i][j] = dp[i-1][j-1]+1
        else: 
            dp[i][j] = max(dp[i-1][j], dp[i][j-1])


print(dp[N][M])

 

import sys
sys.stdin =  open('/Desktop/dev/BackJoon/추가강의/LIS/9251.txt','r')
sys.setrecursionlimit(999999)
input = sys.stdin.readline

위의 이 부분을 지우고 돌리면 성공하는데, 위의 부분이 있을 때 채점 초반에 틀렸다고 하네요.

 

혹시 이번 문제에서는 input이 띄어쓰기가 없는 문자열이라서

input = sys.stdin.readline

부분 때문에 에러가 난 것인지 궁금해서 질문드립니다!

python 코딩-테스트 알고리즘

답변 2

0

코딩 센세

질문 감사합니다!

 

헉.. 일반적으로 input = sys.stdin.readline 코드로 인해서 문제가 발생하는건 보통 문제 출제자의 오류의 가능성이 높습니다! 백준의 문의하기를 이용해서 문제에 오류가 있는지 확인해달라는 글을 작성해보시면 해당 오류의 이유를 찾으실 수 있으실 것 같아요 🙂

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
CodeMaster님, 질문하신 부분에 대해 답변드리겠습니다.

sys.stdin.readline은 입력받은 문자열의 끝에 개행문자(‘\n’)를 포함하므로 문자열 처리 과정에서 개행문자가 포함될 가능성이 있습니다. 이 경우 input() 함수를 사용할 때와 다르게 불필요한 개행문자가 문자열 안에 들어가서 정답 판정에 영향을 줄 수 있습니다.

문제에서 input을 처리할 때는 입력받은 문자열에서 마지막의 개행문자를 제거하기 위해 strip() 함수를 사용하면 좋습니다. 예를 들어, AB 문자열을 입력받는 부분을 아래와 같이 수정할 수 있습니다.

A = input().strip()
B = input().strip()

이때 AB에는 띄어쓰기가 없는 문자열이 들어가므로 strip() 함수를 통해 개행문자를 제거해주면 채점 시 문제가 되지 않을 것입니다.

위 코드를 수정하여 다시 시도해보세요.

dp[x]가 최대값이라고 확신할수 있는 이유

0

44

1

1090번 문제 질문

0

150

1

유니온파인드

0

112

1

투포인터 25:15 질문

1

128

1

#1090번 문제 반례가 궁금합니다.

0

148

1

예제코드 자바입니다

1

186

1

정수론 파트 #2247 문제에 대한 질문입니다!

0

102

0

코드 오류

0

185

1

2강 정수론 문제3 #1407 질문

0

126

0

이차원 배열 (int형)dp로 0 혹은 -1로 체크하는 방법 말고 boolean형 배열로 체크해서 바로 리턴해줄 수 없나요?

0

154

0

1717번 최적화

0

112

0

백준 22988 문제 질문

1

193

2

[Python] 백준 1090번 문제

1

226

3

강의자료에서

1

162

2

2503 문제 제한 조건 질문!

1

249

2

백준 22988 번 문제

1

193

1

추가 강의 순서

1

180

2

(*문제 풀이)1090 테스트케이스 1번 C++

1

221

2

7강 RGB 색칠하기 질문 있습니다.

1

160

2

정수론 약수 빠르게 구하기 질문

1

257

1

1090 문제의 2, 3번째 아이디어는 결국 같은거 아닌가요?

1

373

2

1090 문제 관련하여 맨해튼 거리 최솟값에 대해 질문 있습니다.

1

223

2

누적합 문제 3번 질문

1

216

2

기억 ( 누적합 ) 강의 11660 문제

1

163

2