Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 12761번 돌다리
- 도메인 주도 개발 시작하기
- 백준
- ddd
- golang struct
- 우분투
- domain driven develop
- 파이썬
- 하둡
- hadoop
- 정렬
- String 함수
- 백준 파이썬
- 고 배열
- 백준 사이트
- flask
- golang
- 자바 디자인패턴
- 백준 12761
- 12761 돌다리
- MongoDB Realm
- 몽고디비 렘
- 도메인 주도 개발
- 트리 순회
- 자바 디자인 패턴
- go
- http 개념
- http 완벽가이드
- 백준 12761번
- 자바
Archives
- Today
- Total
개발바닥
BOJ_10942 [ 팰린드롬? ] 본문
반응형
문제
https://www.acmicpc.net/problem/10942
10942번: 팰린드롬?
총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다.
www.acmicpc.net
문제 해결 방법
효율적으로 풀기 위해서는 DP 알고리즘 사용해야 된다.
2차원 배열 변수 DP를 선언 후 Bottom - up 방식으로 문제를 해결하면 된다.
시작과 끝에 해당되는 인덱스에 값이 같으면 안에가 팰린드롬인지 아닌지만 알고 있으면 된다.
if( arr[시작] 과 arr[끝]이 같고 dp[시작+1][끝-1]이 팰린드롬이라면)
DP[시작][끝] = 팰린드롬이다.
소스 코드 보기
https://github.com/jokerKwu/BOJ_Algorithm/blob/master/Dynamic%20programming/BOJ_10942.cpp
jokerKwu/BOJ_Algorithm
Contribute to jokerKwu/BOJ_Algorithm development by creating an account on GitHub.
github.com
#include<iostream>
#include<vector>
using namespace std;
#define MAX 2002
bool dp[MAX][MAX];
int arr[MAX];
int N, M;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N;
for (int i = 1; i <= N; i++) {
cin >> arr[i];
}
for (int i = 1; i <= N; i++) dp[i][i] = true;
for (int i = 1; i < N; i++)
if (arr[i] == arr[i + 1]) dp[i][i + 1] = dp[i + 1][i] = true;
for (int i = 2; i < N; i++) { //이게 길이
for (int j = 1; j <= N-i; j++) {
if (arr[j] == arr[j + i] && dp[j + 1][j + i - 1])
dp[j][j + i] = dp[j + i][j] = true;
}
}
cin >> M;
for (int i = 0; i < M; i++) {
int s, e,answer = 0;
cin >> s >> e;
if (dp[s][e]) answer = 1;
cout << answer << '\n';
}
return 0;
}
반응형
'[ Algorithm ] > [ BOJ ]' 카테고리의 다른 글
BOJ_5397 [ 키로거 ] (0) | 2023.03.04 |
---|---|
BOJ_15653 [ 구슬 탈출4 ] (0) | 2020.06.30 |
BOJ_14442 [ 벽 부수고 이동하기 2 ] (0) | 2020.06.07 |
BOJ_16935 [ 배열 돌리기 3 ] (0) | 2020.05.07 |
BOJ_17069 [ 파이프 옮기기2 ] (0) | 2020.05.07 |
Comments