반응형
Baekjoon Online Judge의 10942번 팰린드롬? 문제의 Python풀이입니다.
10942번: 팰린드롬?
총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다.
www.acmicpc.net
💻코드
import sys
input = sys.stdin.readline
print = sys.stdout.write
N = int(input())
Ns = list(map(int, input().split()))
dp = [[0] * N for _ in range(N)]
for i in range(N):
dp[i][i] = 1
for i in range(N - 1):
if Ns[i] == Ns[i + 1]:
dp[i][i + 1] = 1
for k in range(2, N):
for i in range(N - k):
j = i + k
if Ns[i] == Ns[j] and dp[i + 1][j - 1]:
dp[i][j] = 1
M = int(input())
for _ in range(M):
s, e = map(int, input().split())
print(str(dp[s-1][e-1])+'\n')
🧠풀이
DP
🤔느낀 점
DP 더 공부해야할듯
반응형
댓글