문제
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다.
동호는 규완이를 위한 깜짝 선물을 준비했다. 동호는 규완이가 적어놓고 간 문자열 S에 0개 이상의 문자를 문자열 뒤에 추가해서 팰린드롬을 만들려고 한다. 동호는 가능하면 가장 짧은 문자열을 만들려고 한다.
동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.
출력
첫째 줄에 동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력한다.
Solved.ac 레벨
실버 II
풀이
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string s;
cin >> s;
int len = s.size();
bool chk = true;
for(int i = 0; i < len; i++){
chk = true;
for(int j = i; j < len; j++){
if(s[j] != s[len - 1 - (j - i)]){
chk = false;
break;
}
}
if(chk){
cout << len + i << "\n";
break;
}
}
return 0;
}
'Study (etc) > Problem Solving' 카테고리의 다른 글
[BOJ / C++] 15651번 : N과 M (3) (0) | 2023.01.27 |
---|---|
[BOJ / C++] 15650번 : N과 M (2) (0) | 2023.01.27 |
[BOJ / C++] 11478번 : 서로 다른 부분 문자열의 개수 (0) | 2023.01.27 |
[BOJ / C++] 15649번 : N과 M (1) (0) | 2023.01.24 |
[BOJ / C++] 1270번 : 전쟁 - 땅따먹기 (0) | 2023.01.23 |