๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€,c++] 1254๋ฒˆ - ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ

by ์•ˆ์ฃผํ˜• 2022. 3. 26.

๋ฌธ์ œ

 

1254๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ

๋™ํ˜ธ์™€ ๊ทœ์™„์ด๋Š” 212ํ˜ธ์—์„œ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทœ์™„์ด๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ์„ ์—„์ฒญ๋‚˜๊ฒŒ ์ข‹์•„ํ•œ๋‹ค. ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ž€ ์•ž์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์œผ๋‚˜ ๊ฐ™๊ฒŒ ์ฝํžˆ๋Š” ๋ฌธ์ž์—ด์„ ๋งํ•œ๋‹ค. ๋™ํ˜ธ๋Š”

www.acmicpc.net

 

์ฝ”๋“œ

#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();
}

 

ํ’€์ด

๋ฌธ์ œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ํŽ ๋ฆฐ๋“œ๋กฌ์ด๋ผ๋ฉด ํ˜„์žฌ ๋ฌธ์ž์˜ ๊ธธ์ด๋ฅผ ๋ฐ”๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  2. ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ํŽ ๋ฆฐ๋“œ๋กฌ์ด ์•„๋‹ˆ๋ผ๋ฉด ํ˜„์žฌ ๋ฌธ์ž๋ฅผ ์ชผ๊ฐฐ์„ ๋•Œ ์กด์žฌํ•˜๋Š” ํŽ ๋ฆฐ๋“œ๋กฌ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  3. ํ˜„์žฌ ๋ฌธ์ž์—์„œ ํŽ ๋ฆฐ๋“œ๋กฌ์„ ๋นผ๊ณ  ๋‚จ์€ ๋ฌธ์ž๋ฅผ ๋’ค์ง‘์–ด์„œ ๋ถ™์—ฌ์ฃผ๋ฉด ํŽ ๋ฆฐ๋“œ๋กฌ์ด ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

2๋ฒˆ๊ณผ 3๋ฒˆ์— ๋Œ€ํ•ด์„œ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ "acaa"๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด ๋ฌธ์ž ์•ˆ์—์„œ ์กด์žฌํ•˜๋Š” ํŽ ๋ฆฐ๋“œ๋กฌ์€ "aca"์™€ "aa"์ž…๋‹ˆ๋‹ค.

  • "aca"์ผ ๋•Œ๋Š” "acaa"์—์„œ "aca"๋ฅผ ์ œ์™ธํ•œ "a"๋ฅผ ๋’ค์ง‘์–ด์„œ ๋ถ™์—ฌ์ฃผ๋ฉด "aacaa"๋กœ ํŽ ๋ฆฐ๋“œ๋กฌ์ด ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. 
  • "aa"์ผ ๋•Œ๋Š” "acaa"์—์„œ "aa"๋ฅผ ์ œ์™ธํ•œ "ac"๋ฅผ ๋’ค์ง‘์–ด์„œ ๋ถ™์—ฌ์ฃผ๋ฉด  "acaaca"๋กœ ํŽ ๋ฆฐ๋“œ๋กฌ์ด ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ์—์„œ๋Š” ๊ฐ€์žฅ ์งง์€ ํŽ ๋ฆฐ๋“œ๋กฌ์„ ์ถœ๋ ฅํ•˜๋ผ๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— "aacaa"์˜ ๊ธธ์ด์ธ 5๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

๋Œ“๊ธ€