PS

[백준/Python] (G3) 팰린드롬? - 10942

MSHUN 2023. 11. 9.
반응형

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 더 공부해야할듯

Baekjoon Online Judge

반응형

댓글