๋ฌธ์
์ฝ๋
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool isPalindrom(string inp){
string temp = inp;
reverse(inp.begin(), inp.end());
if(temp==inp) return true;
return false;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
string s; cin>>s;
int ans = 1e9;
string temp = s;
reverse(temp.begin(),temp.end());
if(s==temp){
cout<<s.length();
return 0;
}
for(int i=0; i<s.length(); i++){
string temp = s.substr(i,s.length());
if(isPalindrom(temp)){
int len = s.length()-temp.length();
ans = min(ans, len);
}
}
if(ans==1e9) cout<<s.length()*2;
cout<<ans+s.length();
}
ํ์ด
๋ฌธ์ ๊ตฌํ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ์ต๋๋ค.
- ํ์ฌ ๋ฌธ์๊ฐ ํ ๋ฆฐ๋๋กฌ์ด๋ผ๋ฉด ํ์ฌ ๋ฌธ์์ ๊ธธ์ด๋ฅผ ๋ฐ๋ก ์ถ๋ ฅํฉ๋๋ค.
- ํ์ฌ ๋ฌธ์๊ฐ ํ ๋ฆฐ๋๋กฌ์ด ์๋๋ผ๋ฉด ํ์ฌ ๋ฌธ์๋ฅผ ์ชผ๊ฐฐ์ ๋ ์กด์ฌํ๋ ํ ๋ฆฐ๋๋กฌ์ ์ฐพ์ต๋๋ค.
- ํ์ฌ ๋ฌธ์์์ ํ ๋ฆฐ๋๋กฌ์ ๋นผ๊ณ ๋จ์ ๋ฌธ์๋ฅผ ๋ค์ง์ด์ ๋ถ์ฌ์ฃผ๋ฉด ํ ๋ฆฐ๋๋กฌ์ด ๋ง๋ค์ด์ง๋๋ค.
2๋ฒ๊ณผ 3๋ฒ์ ๋ํด์ ๋ ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค. ์ ์ถ๋ ฅ "acaa"๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ํ์ฌ ์ด ๋ฌธ์ ์์์ ์กด์ฌํ๋ ํ ๋ฆฐ๋๋กฌ์ "aca"์ "aa"์ ๋๋ค.
- "aca"์ผ ๋๋ "acaa"์์ "aca"๋ฅผ ์ ์ธํ "a"๋ฅผ ๋ค์ง์ด์ ๋ถ์ฌ์ฃผ๋ฉด "aacaa"๋ก ํ ๋ฆฐ๋๋กฌ์ด ์์ฑ๋ฉ๋๋ค.
- "aa"์ผ ๋๋ "acaa"์์ "aa"๋ฅผ ์ ์ธํ "ac"๋ฅผ ๋ค์ง์ด์ ๋ถ์ฌ์ฃผ๋ฉด "acaaca"๋ก ํ ๋ฆฐ๋๋กฌ์ด ์์ฑ๋ฉ๋๋ค.
๋ฌธ์ ์์๋ ๊ฐ์ฅ ์งง์ ํ ๋ฆฐ๋๋กฌ์ ์ถ๋ ฅํ๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ "aacaa"์ ๊ธธ์ด์ธ 5๋ฅผ ์ถ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 2696๋ฒ - ์ค์๊ฐ ๊ตฌํ๊ธฐ (0) | 2022.03.29 |
---|---|
[๋ฐฑ์ค,c++] 2422๋ฒ - ํ์ค์ ์ด ์ดํ๋ฆฌ์์ ๊ฐ์ ์์ด์คํฌ๋ฆผ์ ์ฌ๋จน๋๋ฐ (0) | 2022.03.27 |
[๋ฐฑ์ค,c++] 1449๋ฒ - ์๋ฆฌ๊ณต ํญ์น (0) | 2022.03.27 |
[๋ฐฑ์ค,c++] 4396๋ฒ - ์ง๋ขฐ ์ฐพ๊ธฐ (0) | 2022.03.26 |
[๋ฐฑ์ค,c++] 5582๋ฒ - ๊ณตํต ๋ถ๋ถ ๋ฌธ์์ด (0) | 2022.03.25 |
[๋ฐฑ์ค,c++] 24499๋ฒ - blobyum (0) | 2022.03.23 |
๋๊ธ