๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

[C++/PGS] Lv.3 : ๊ฐ€์žฅ ๊ธด ํŒฐ๋ฆฐ๋“œ๋กฌ (ํˆฌํฌ์ธํ„ฐ/์ค‘์‹ฌํ™•์žฅ)

xxilliant 2025. 4. 25. 11:10
728x90
๋ฐ˜์‘ํ˜•

 

https://school.programmers.co.kr/learn/courses/30/lessons/12904#

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr


ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ3 ํŒฐ๋ฆฐ๋“œ๋กฌ ๋ฌธ์ œ

์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์œผ๋กœ ํ’€์ดํ•  ์ˆ˜ ์žˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ dp, ํ˜น์€ ์‚ผ์ค‘ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ

๋‚˜๋Š” ํˆฌํฌ์ธํ„ฐ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.

 

์ค‘์‹ฌ์—์„œ๋ถ€ํ„ฐ ํˆฌํฌ์ธํ„ฐ๋ฅผ ์–‘์˜†์œผ๋กœ ๋ณด๋‚ด๋ฉด์„œ ์„œ๋กœ ๊ฐ’์ด ๊ฐ™์€์ง€ ๊ฒ€์‚ฌํ–ˆ๋Š”๋ฐ,

GPT๊ฐ€ ์ด๋Ÿฐ ๋ฐฉ์‹์„ ์ค‘์‹ฌ ํ™•์žฅ(Center Expansion) ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ์•Œ๋ ค์คŒ!!

 

 

๋‚˜์˜ ํ’€์ด

#include <iostream>
#include <string>
using namespace std;
int solution(string s)
{
    int answer=1;
    int n = s.length();
    for(int i=0; i<2*n-1; ++i){
        int left = i / 2;
        int right = left + (i % 2);
        while (left >= 0 && right < n && s[left] == s[right]) {
            answer = max(answer, right - left + 1);
            left--;
            right++;
        }
    }

    return answer;
}

728x90
๋ฐ˜์‘ํ˜•